有没有办法在VIM中禁用警告?
特别是,当文件从只读变为可写时,我想禁用警告12。我有一个脚本打开文件以便在perforce中进行编辑,但是vim认为文件已经更改并发出警告。
由于
答案 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