Есть ли "журнал времени выполнения vim"? - программирование
Подтвердить что ты не робот

Есть ли "журнал времени выполнения vim"?

Иногда я пытаюсь настроить/команду в своем vimrc. Все кажется правильным, но это просто не работает.

Трудно понять, что происходит при запуске vim, и знать, какая команда потерпела неудачу или нет, поэтому очень сложно отладить то, что может вызвать проблему в моем vimrc. Это метод пробной ошибки, который требует много времени и действительно PITA. Например, у меня возникают проблемы с плагином snipmate в некоторых файлах и просто не имеют понятия о том, как обнаружить проблему.

Есть ли "журнал времени выполнения", когда запускается vim, указывая, какие команды он выполнял, какие из них не выполнялись и т.д.? Это очень помогло бы мне.

4b9b3361

Ответ 1

работает vim с параметром -V [N] будет делать довольно здоровенный журнал времени выполнения, здесь N - уровень отладки.

vim -V9myVim.log

создаст журнал уровня отладки 9 в текущем каталоге с именем файла myVim.log

Ответ 2

:messages отображает все предупреждения, ошибки и информационные сообщения, которые появились (возможно, кратко) в статусной строке vim.

:echo errmsg печатает последнее сообщение об ошибке.

Ответ 3

Поместите эту функцию в .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. Обратите внимание, что вы можете поймать ошибку "переменная, вложенная слишком глубоко для отображения", которая обычно не отображается только потому, что вы подняли свой подробный уровень.

Ответ 5

Это, вероятно, идет вразрез со всем, на что указывает SO, но вот что я делаю: скоро я нажму на экран печати, когда появится предупреждение и посмотрит на изображение.

Ответ 6

Мне пришлось добавить "set nocp" для использования функции "ToggleVerbose()" при запуске из корня из-за & verbose