9

有没有办法在 VIM 中禁用警告?

特别是,当文件从只读变为可写时,我想禁用警告 12。我有一个脚本可以在 perforce 中打开文件进行编辑,但 vim 认为文件已更改并发出警告。

谢谢

4

3 回答 3

11

我的 .vimrc 中有以下内容;你应该只需要第二个。它将消息回显到状态栏,而不是弹出对话框。

autocmd FileChangedRO * echohl WarningMsg | echo "File changed RO." | echohl None
autocmd FileChangedShell * echohl WarningMsg | echo "File changed shell." | echohl None

尝试:help FileChangedShell了解更多信息。

于 2009-07-08T02:03:06.863 回答
7

将以下行添加到您的 .vimrc 文件中:

设置自动阅读

这将禁用“只读到可写”警告

于 2010-10-13T00:07:25.920 回答
2

我已经使用FileChangedRO了一段时间来在开始编辑文件时自动签出文件,并且发现 W12 警告也很烦人。问题是 p4 edit 更新文件属性以删除只读标志。如果作为初始编辑的一部分您还更改了文件,Vim 会将此视为冲突,因为它不再是只读的。这是我使用的解决方案FileChangedShell,如果文件因其他原因从外部更改,则使用该解决方案更为保守。

let s:IgnoreChange=0
autocmd! FileChangedRO * nested
    \ let s:IgnoreChange=1 |
    \ call system("p4 edit " . expand("%")) |
    \ set noreadonly
autocmd! FileChangedShell *
    \ if 1 == s:IgnoreChange |
    \   let v:fcs_choice="" |
    \   let s:IgnoreChange=0 |
    \ else |
    \   let v:fcs_choice="ask" |
    \ endif
于 2009-12-18T06:45:44.997 回答