是否有“vim运行时日志”?

时间:2010-06-11 19:22:34

标签: vim runtime logging

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

很难知道当vim启动时发生了什么,并且知道哪个命令失败了,所以很难调试可能导致我的vimrc出现问题的原因。这是一种试错法,耗时而且真的是PITA。例如,我遇到了问题with snipmate plugin in some files,并且没有找到如何发现问题的线索。

当vim启动时是否存在“运行时日志”,告诉它执行了哪些命令,哪些命令失败等等?这对我有很大帮助。

6 个答案:

答案 0 :(得分:137)

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

vim -V9myVim.log

将在当前目录中使用文件名myVim.log

创建调试级别9的日志

答案 1 :(得分:84)

:messages显示vim状态行中出现的所有警告,错误和信息性消息。

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

g<是很少有人知道的另一个功能。来自:help g<

  

g<命令可用于查看上一个命令输出的最后一页。如果您在命中输入提示符时意外键入<Space>,这将非常有用。

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

答案 2 :(得分:13)

将此功能放入.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。请注意,您可能会发现«变量嵌套太深而无法显示»错误,这通常不会因为您提高了详细级别而出现。

答案 3 :(得分:2)

我认为没有运行时日志本身,但您可以在调试模式下运行它。
http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts

答案 4 :(得分:1)

由于&amp; verbose

,我必须在root中运行时添加“set nocp”才能使用“ToggleVerbose()”函数

答案 5 :(得分:0)

这可能违背SO所代表的一切,但这就是我所做的:我只是在警告出现时立即点击打印屏幕并查看图片。