如何使vim指示自上次保存以来文件已更改?

use*_*275 9 vim

我曾经使用netbeans,它总是放一个星号,并在文件自上次保存后更改时更改了标签颜色.有没有办法让vim做类似的事情,也就是提醒我,我还没有保存文件?

我知道有一种方法可以让它偶尔自动保存,但我不想这样做.

Joh*_*web 7

您可以使用选项中的m标志'statusline'添加[+]if文件.请注意,要查看状态行,您需要设置'laststatus'为大于0(如果有两个或更多窗口,则1-Only显示状态行,2-Always).

如果您使用的是GUI版本,例如MacVim,您可能更喜欢设置'titlestring',它使用相同的语法,但会改变窗口管理器中窗口的名称.

例:

:set laststatus=2
:set statusline=[%n]\ %<%f%h%m
Run Code Online (Sandbox Code Playgroud)

这将显示:

  • [:字面意思
  • %n:缓冲区号码
  • ]:字面意思
  • \<Space>: 空间
  • %<:如果太长,则在开头截断该字段
  • %f:缓冲区中文件的路径,类型为当前目录或相对于当前目录.
  • %h:帮助缓冲区标志,文本为"[help]".
  • %m:修改标志,文字为"[+]"; "[ - ]"如果'可修改'关闭.

有关更多信息,请参阅


Yan*_*san 7

呼叫:ls,您将看到+未保存缓冲区之前的内容