Ответ 1
работает vim с параметром -V [N] будет делать довольно здоровенный журнал времени выполнения, здесь N - уровень отладки.
vim -V9myVim.log
создаст журнал уровня отладки 9 в текущем каталоге с именем файла myVim.log
Иногда я пытаюсь настроить/команду в своем vimrc. Все кажется правильным, но это просто не работает.
Трудно понять, что происходит при запуске vim, и знать, какая команда потерпела неудачу или нет, поэтому очень сложно отладить то, что может вызвать проблему в моем vimrc. Это метод пробной ошибки, который требует много времени и действительно PITA. Например, у меня возникают проблемы с плагином snipmate в некоторых файлах и просто не имеют понятия о том, как обнаружить проблему.
Есть ли "журнал времени выполнения", когда запускается vim, указывая, какие команды он выполнял, какие из них не выполнялись и т.д.? Это очень помогло бы мне.
работает vim с параметром -V [N] будет делать довольно здоровенный журнал времени выполнения, здесь N - уровень отладки.
vim -V9myVim.log
создаст журнал уровня отладки 9 в текущем каталоге с именем файла myVim.log
:messages
отображает все предупреждения, ошибки и информационные сообщения, которые появились (возможно, кратко) в статусной строке vim.
:echo errmsg
печатает последнее сообщение об ошибке.
Поместите эту функцию в .vimrc:
function! ToggleVerbose()
if !&verbose
set verbosefile=~/.log/vim/verbose.log
set verbose=15
else
set verbose=0
set verbosefile=
endif
endfunction
Затем создайте каталог ~/.log/vim
и вызовите ToggleVerbose()
, чтобы получить ваш журнал ~/.log/vim/verbose.log
. Обратите внимание, что вы можете поймать ошибку "переменная, вложенная слишком глубоко для отображения", которая обычно не отображается только потому, что вы подняли свой подробный уровень.
Я не думаю, что есть журнал выполнения, как таковой, но вы можете запустить его в режиме отладки.
http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts
Это, вероятно, идет вразрез со всем, на что указывает SO, но вот что я делаю: скоро я нажму на экран печати, когда появится предупреждение и посмотрит на изображение.
Мне пришлось добавить "set nocp" для использования функции "ToggleVerbose()" при запуске из корня из-за & verbose