Есть ли "vim runtime log"? - PullRequest
112 голосов
/ 11 июня 2010

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

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

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

Ответы [ 6 ]

140 голосов
/ 12 июня 2010

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

vim -V9myVim.log

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

87 голосов
/ 31 июля 2013

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

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

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

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

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

13 голосов
/ 12 июня 2010

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

2 голосов
/ 11 июня 2010

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

1 голос
/ 22 февраля 2014

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

0 голосов
/ 10 марта 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...