如何使vim指示自上次保存以来文件已更改?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使vim指示自上次保存以来文件已更改?相关的知识,希望对你有一定的参考价值。
我曾经使用netbeans,它总是放一个星号,并在文件自上次保存后更改时更改了标签颜色。有没有办法让vim做类似的事情,也就是提醒我,我还没有保存文件?
我知道有一种方法可以让它偶尔自动保存,但我不想这样做。
答案
如果文件被修改,您可以使用m
选项中的'statusline'
标志添加[+]
。请注意,为了查看状态行,您需要将'laststatus'
设置为大于0(如果有两个或更多窗口,则1-Only显示状态行,2-Always)。
如果您使用的是GUI版本,例如MacVim,您可能更喜欢设置'titlestring'
,它使用相同的语法,但会改变窗口管理器中窗口的名称。
Example:
:set laststatus=2
:set statusline=[%n] %<%f%h%m
这将显示:
[
:字面意思%n
:缓冲区号码]
:字面意思<Space>
:一个空间%<
:如果太长,就会在开头截断该字段%f
:缓冲区中文件的路径,类型为当前目录或相对于当前目录。%h
:帮助缓冲区标志,文本是“[help]”。%m
:修改过的标志,文字是“[+]”; “[ - ]”如果'可修改'关闭。
有关更多信息,请参阅
另一答案
调用:ls
,你会在未保存的缓冲区之前看到一个+
另一答案
在正常模式下按Ctrl + g(或等效:f
)将显示文件状态,指示文件是否已修改。
状态如下
"file_name" 100 lines --20%--
如果文件未被修改,或
"file_name" [Modified] 100 lines --20%--
如果文件被修改。
有关更多信息,请参阅:help ^g
。
另一答案
如果终端在某处显示其标题,则可以使用
:set title
显示文件是否被修改:如果文件名被修改,则显示+
。
但是,文件的文件名末尾可以包含 +
。对于大多数文件,这应该工作正常。
资料来源:https://stackoverflow.com/a/13244715/5267751
以上是关于如何使vim指示自上次保存以来文件已更改?的主要内容,如果未能解决你的问题,请参考以下文章
错误:找不到要更新的行。自上次读取以来,某些值可能已更改。关于将提供程序从 SQLOLEDB 更改为 MSOLEDBSQL