Gedit .LOG 功能

Gedit .LOG 功能

在 MS Notepad 中我可以创建如下文件:

.LOG

I updated function xyz(), line 32 today.

保存它,然后当我打开它时:

.LOG

I updated function xyz(), line 32 today.

25-10-14 8:04:56

gedit我怎样才能在或 Ubuntu 的类似程序中实现相同的功能?

答案1

我不确定记事本在这里的具体行为。虽然我不知道如何vim根据文件中现有的一些文本做到这一点,但我可以vim对具有特定扩展名的文件执行类似操作,方法是将其添加到~/.vimrc

au BufWritePre *.log :normal G"=strftime("\n%b %d, %Y %X\n")^Mp

解释:

  • au- 代表AutoCommandvim针对某个事件执行某个动作的方式。
  • BufWritePre-vim写出文件之前发生的事件。
  • *.log- 执行此操作的文件(您可以选择其他扩展名)
  • :normal - 进入正常模式(您启动时通常处于的模式vim
  • G- 转到最后一行
  • "=strftime("\n%b %d, %Y %X\n")^M"- 将函数的输出复制到默认缓冲区 ( ) 中strftime^M是文字换行符,通过按CtrlV,然后获得Enter
  • p- 然后粘贴缓冲区。

每次我使用写入文件时:w,当前日期都会附加到文件中:

$ vim test.log
$ vim test.log
$ cat test.log 
I did some work.

Oct 26, 2014 01:15:55  IST

Didn't I?

Oct 26, 2014 01:16:02  IST

G这是相当可定制的。您可以选择文件扩展名,如果要在当前行后附加日期,则可以省略,修改时间格式,使用其他事件(请参阅:h autocmd-events)。

答案2

我已经使用记事本的“.LOG”功能好几年了,并且已经相当依赖它了。我对您的回答并不像这里的一些回复那样复杂(我怀疑这是因为我不像一些试图帮助您的人那样精明……)当微软放弃 Microsoft XP 操作系统时,我决定冒险将我的旧 XP 机器移植到 Debian Linux。(顺便说一句,我对 Debian Linux 的爱远不如对人类婴儿的爱…… ;o)!)无论如何,由于遇到与您相同的困境,我只是安装了 WINE 并在其中使用了记事本。希望这对您有所帮助。

相关内容