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

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

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

Спасибо

 Greg Whitfield09 июл. 2009 г., 14:55
Может ли быть так, что иногда файл действительно изменился? Например. если у вас не было открытой ревизии заголовка в VIM, то при открытии для редактирования на самом деле попытались бы заменить ваш файл последней.
 Christopher Stott09 июл. 2009 г., 20:37
Команда, которую я использую, «p4 edit», не будет синхронизироваться с другой ревизией этого файла, без явного указания. Файл будет изменен только в том случае, если я явно синхронизирую d за спиной vim.

Ответы на вопрос(3)

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

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
Решение Вопроса

установить авточитание

Это отключит функцию «только для чтения и записи». предупреждения

Ваш ответ на вопрос