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

Вот реальный простой:

#include <vector>
#include <string>
using namespace std;

vector<string> split(const char *str, char c = ' ')
{
    vector<string> result;

    do
    {
        const char *begin = str;

        while(*str != c && *str)
            str++;

        result.push_back(string(begin, str));
    } while (0 != *str++);

    return result;
}
8
задан Christopher Stott 8 July 2009 в 01:31
поделиться

2 ответа

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

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

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

10
ответ дан 5 December 2019 в 08:54
поделиться

Я уже некоторое время использую 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
2
ответ дан 5 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: