是否有"vim运行时日志"?

Som*_*DOS 118 vim logging runtime

有时我在我的vimrc中尝试自定义/命令.一切都是正确的,但它不起作用.

很难知道当vim启动时发生了什么,并且知道哪个命令失败了,所以很难调试可能导致我的vimrc出现问题的原因.这是一种试错法,耗时而且真的是PITA.例如,我在某些文件中遇到了snipmate插件的问题,并且没有关于如何发现问题的线索.

当vim启动时是否有"运行时日志",告诉它执行哪些命令,哪些命令失败等等?这对我很有帮助.

sle*_*ate 148

使用-V [N]选项运行vim将执行一个非常重要的运行时日志,这里N是调试级别.

vim -V9myVim.log
Run Code Online (Sandbox Code Playgroud)

将使用文件名在当前目录中创建调试级别9的日志 myVim.log

  • 另见[`:h'verbose'`](http://vimdoc.sourceforge.net/htmldoc/options.html#%27verbose%27)和[`:h:verbose`](http://vimdoc.sourceforge .NET/HTMLDOC/various.html#:详细). (2认同)

Jus*_*yes 92

:messages 显示vim状态行中出现(可能简要)的所有警告,错误和信息性消息.

:echo errmsg 打印最新的错误消息.

g<是很少有人知道的另一个特征.来自:help g<:

g<命令可用于查看上一个命令输出的最后一页.如果您<Space>在hit-enter提示符下意外输入,这将特别有用.

例如,尝试:!ls取消提示,然后点击g<.


ZyX*_*ZyX 13

将此函数放入.vimrc:

function! ToggleVerbose()
    if !&verbose
        set verbosefile=~/.log/vim/verbose.log
        set verbose=15
    else
        set verbose=0
        set verbosefile=
    endif
endfunction
Run Code Online (Sandbox Code Playgroud)

然后创建目录~/.log/vim并调用ToggleVerbose()以获取您的登录信息~/.log/vim/verbose.log.请注意,您可能会捕获"变量嵌套太深而无法显示"错误,这通常不会因为您提高了详细级别而出现.