В целом в виме напрягают две вещи:
- 1. Error'ы сыпятся прямо в вим, мешая работать
- 2. «Press ENTER or type command to continue»
1п появляется тогда, когда появляются ошибки в плагинах. К примеру, в youcompleteme, когда он не может что-то там распарсить и прямо в vim сыпет ошибки. При этом, нажимаешь q, он опять что-то думает и на весь экран сыпет ошибки и так в перманенте. Конкретно для ycmd я их отключил
let g:ycm_enable_diagnostic_signs = 0
let g:ycm_enable_diagnostic_highlighting = 0
let g:ycm_always_populate_location_list = 0 "default 0
let g:ycm_open_loclist_on_ycm_diags = 0 "default 1
Но есть и другие плагины, которые это делают. Как глобально заставить все эти ошибки сыпаться в какой-нибудь лог, а не в vim ?
2п. Эта бля*ская «Press ENTER or type command to continue». Она тоже появляется тогда, когда где-то что-то сыпет ошибки. Например, foldmethod=marker в vimrc. Открываем, делаем zM(свернуть все фолды) и закрываем vim. Открываем vim, открываем e: ~/.vim/vimrc. получаем «Press ENTER or type command to continue». Конечно же, я посмотрел из-за чего это происходит:
"vimrc.vim"·
"vimrc.vim" 720L, 20652C
filetype detection:ON plugin:ON indent:ON
Error detected while processing function signature#sign#Refresh..signature#sign#Place..<SNR>104_RefreshLine:
line 39:
E117: Unknown function: EightHeaderFolds
Error detected while processing function signature#sign#Refresh..signature#sign#Place..<SNR>104_RefreshLine:
line 39:
E15: Invalid expression: EightHeaderFolds( '\=s:fullwidth-2', 'left', [ repeat( '→ ', v:foldlevel - 1 ), '.', '' ], '\= s:foldlines . " lines"', '' )
Error detected while processing function signature#sign#Refresh..signature#sign#Place..<SNR>104_RefreshLine:
line 39:
E117: Unknown function: EightHeaderFolds
Error detected while processing function signature#sign#Refresh..signature#sign#Place..<SNR>104_RefreshLine:
line 39:
E15: Invalid expression: EightHeaderFolds( '\=s:fullwidth-2', 'left', [ repeat( '→ ', v:foldlevel - 1 ), '.', '' ], '\= s:foldlines . " lines"', '' )
Error detected while processing function signature#sign#Refresh..signature#sign#Place..<SNR>104_RefreshLine:
line 39:
E117: Unknown function: EightHeaderFolds
Error detected while processing function signature#sign#Refresh..signature#sign#Place..<SNR>104_RefreshLine:
line 39:
E15: Invalid expression: EightHeaderFolds( '\=s:fullwidth-2', 'left', [ repeat( '→ ', v:foldlevel - 1 ), '.', '' ], '\= s:foldlines . " lines"', '' )
стоят настройки:
set shortmess=aoOtI
Самое интересное, что «Press ENTER or type command to continue» пропадает, если поставить
set cmdheight=2
Но это меня не устраивает. Вообще, как прекратить из vim'а делать диагностическое окно для плагинов и как отключить эту «Press ENTER or type command to continue» ?