Отключить предупреждение в VIM?

есть ли способ отключить предупреждения в VIM?

в частности, я хочу отключить предупреждение 12, когда файл переходит из режима только для чтения в режим записи. У меня есть скрипт, который открывает файл для редактирования в perforce, но vim думает, что файл изменился и выдает предупреждение.

спасибо

3 ответов


добавьте следующую строку в ваш .файл vimrc :

набор autoread

Это отключит предупреждения" только для чтения"


у меня есть следующая в моем .vimrc; вам нужен только второй. Он повторяет сообщение в строке состояния вместо того, чтобы выскакивать диалоговое окно.

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

попробовать :help FileChangedShell для получения дополнительной информации.


Я использую 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