LINUX.ORG.RU

vim + «Press ENTER or type command to continue»

 


0

1

В целом в виме напрягают две вещи:

  • 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» ?

★★★★

Последнее исправление: bryak (всего исправлений: 2)

set shortmess=aoOtI

А если добавить ещё «T»?

Как подавить ошибки от плагинов не знаю, это вообще исключения, но их сразу из всех мест и не словишь. Вообще на то они и ошибки, чтобы их не игнорировали. Пусть авторы исправляют плагины, а не пользователи игнорируют сообщения об ошибках.

xaizek ★★★★★
()

К примеру, в youcompleteme, когда он не может что-то там распарсить и прямо в vim сыпет ошибки.

Если не помогают ни :YcmRestartServer, ни перезапуск вима, значит нужно обновить ycm и пересобрать его. А подавление ошибок - это какая-то вершина костылелюбия.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Вообще в идеале всё должно происходить следующим образом: сижу я такой, работаю и у меня что-то не работает из функционала плагина. Я такой «опа!» иду в файл error.log и смотрю на предмет error'ов. Потом создаю на гитхабе таску и жду ответа. Я в редакторе хочу писать, а не смотреть на ошибки. И очень хотелось бы это контролировать опциями типа let g:diagnistic_log=some_path let g:redirect_diagnostic_to_log=1

И чтобы все плагины смотрели куда им выводить error'ы

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

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 2)
Ответ на: комментарий от andreyu

тут не столько вим сколько тс повлиял на мой ответ. нащщет второго чела не знаю

дебила

а вот оскорблять плохо

f1u77y ★★★★
()
Ответ на: комментарий от bryak

кстати нет, дебилы как раз в состоянии понять, что они дебилы. зачем было подтявкивать, не понимаю, ну да ладно

скажу по сабжу, а то поудаляют ещё за спам. если есть ошибки, то это плохо, поэтому вим затрудняет использование себя, когда сыплются ошибки

и ты б хотя бы сказал, на каком файле ycm валится, и насколько он(ycm, конечно) у тебя новый

f1u77y ★★★★
()
Последнее исправление: f1u77y (всего исправлений: 1)
Ответ на: комментарий от f1u77y

По-моему я в посте обозначил, коими опциями я эти ошибки отключил в ycmd. Разве нет ?

bryak ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.