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
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.请注意,您可能会捕获"变量嵌套太深而无法显示"错误,这通常不会因为您提高了详细级别而出现.