Способы установки python3-dev или python3-devel на Arch Linux

Принятый ответ (с вознаграждением )неверен. Это никак не решит проблему, потому что предупреждение W12 произойдет после возврата из функции.

Проблема заключается в том, как указано в документе , цитируемом в вопросе (мой полужирный):

autoread' 'ar' 'noautoread' 'noar' 'autoread' 'ar'
boolean (default on) global or local to buffer |global-local|

When a file has been detected to have been changed outside of Vim and it has not been changed inside of Vim, automatically read it again.

Это означает, что опция autoread предназначена только для предупреждений W11 .

Чтобы решить проблему, я часами пытался придумать решение, временно изменяя buftype, среди прочего, но оно оказалось довольно простым:

cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!

Это означает принудительную перезагрузку файла после сохранения. Это гарантирует, что предупреждение не появится, поскольку теперь файл идентичен буферу.

  • Это решение также работает независимо от вашего autoreadварианта. Мне нравится мой noautoread, поэтому я знаю, хочу ли я отказаться от изменений или нет.

В конце можно поставить дополнительный " <CR>",

cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!<CR>

или, если вам нужна функция, что-то вроде:

cnoremap w!! call SudoWriteBangBang()<CR>
function! SudoWriteBangBang()
    execute 'silent! write !sudo tee % >/dev/null' <bar> edit!<CR>
endfunction

но я предпочитаю не выполнять команду сразу. Без <CR>у вас есть возможность еще раз взглянуть на команду, прежде чем принять решение. Кроме того, он лучше имитирует поведение :wи :w!, так как они также ожидают руководства <CR>.

0
10.02.2019, 17:45
1 ответ

Это пакеты, которые я установил для YouCompleteMe:

sudo pacman -S cmake gcc python3
0
25.02.2020, 01:06

Теги

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