在VIM中禁用警告?

时间:2009-07-08 01:31:18

标签: vim perforce warnings

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

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

由于

3 个答案:

答案 0 :(得分:10)

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

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

请尝试:help FileChangedShell了解详情。

答案 1 :(得分:6)

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

设置autoread

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

答案 2 :(得分:2)

我一直在使用FileChangedRO一段时间来开始编辑时自动检出文件,并发现W12警告也很烦人。问题是p4编辑更新文件属性以删除只读标志。如果作为初始编辑的一部分,您也更改了文件,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