有没有“Vim运行时日志”?

有时我会在我的vimrc中尝试一个定制/命令。 一切都看上去是正确的,但它是行不通的。

很难知道vim启动时发生了什么,并知道哪个命令失败了,所以debugging可能会导致vimrc中的问题真的很困难。 这是一个试验错误的方法,这是非常耗时的,而且是一个PITA。 例如,我在某些文件中遇到了snipmate插件的问题,只是不知道如何发现问题。

vim启动时是否有“运行时日志”,告诉哪些命令执行,哪些命令失败等等? 这会帮助我很多。

使用-V [N]选项运行vim会执行相当大的运行时日志,这里N是debugging级别。

vim -V9myVim.log 

会在当前目录下创build一个myVim.log的debugging级别为9的日志

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

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

把这个函数放到.vimrc中:

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

然后创build目录~/.log/vim并调用ToggleVerbose()来获取你的日志~/.log/vim/verbose.log 。 请注意,您可能会捕获“variables嵌套过深,以显示”错误,通常不会出现,因为您已经提出了详细的级别。

我不认为有一个运行日志, 本身 ,但你可以在debugging模式下运行它。
http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts

这可能违背了所有的意思,但是这就是我所做的事情:在警告出现的时候,我就马上打印屏幕,然后看图片。

由于&verbose,我必须添加“set nocp”以在根中运行时使用“ToggleVerbose()”函数