有“ vim 运行时日志”吗?

有时我会在 vimrc 中尝试一个定制/命令。

很难知道 vimrc 启动时发生了什么,也很难知道哪个命令失败了,所以调试 vimrc 中可能导致问题的内容非常困难。这是一种试错法,既费时又费力。例如,我有问题 插入一些文件和只是不知道如何发现这个问题的线索。

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

78142 次浏览

我不认为有一个运行时日志,本质上,但您可以在调试模式下运行它。
Http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/debugging_vim_scripts

使用-V [ N ]选项运行 vim 将执行大量的运行时日志,这里 N 是调试级别。

vim -V9myVim.log

将在工作目录中创建一个名为 myVim.log的9级调试日志

将这个函数放入. 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中的日志。注意,您可能会捕获“嵌套太深以致无法显示的变量”错误,这种错误通常不会因为您提高了详细级别而出现。

这可能违背了 SO 所代表的一切,但是我这样做: 当警告出现时,我立即点击打印屏幕,然后看图片。

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

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

g<是另一个鲜为人知的特性:

可以使用 g<命令查看上一个命令输出的最后一页。如果您在点击-输入提示符时不小心键入了 <Space>,那么这一点尤其有用。

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

在 root 中运行时,我必须添加“ set nocp”来使用“ ToggleVerbose ()”函数,因为 & verose