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


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

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

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

6 100

6 ответов:

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

vim -V9myVim.log

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

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

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

g< это еще одна особенность, о которой мало кто знает. От :help g<:

The g< команда может быть использована для просмотра последней страницы вывода предыдущей команды. Это особенно полезно, если вы случайно нажали <Space> при попадании-enter быстрый.

например, попробовать :!ls затем отменить приглашение, а затем нажмите g<.

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

Я не думаю, что есть журнал выполнения, per se, но вы можете запустить его в отладке mode.
http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts

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

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