发现Vim退出状态的原因

时间:2011-05-10 20:24:03

标签: vim

跑步时:

vim /tmp/blah
:q
echo $?

我的退出状态为1。这打破了各种各样的事情,包括Git。如果我在没有我的vimrc的情况下运行vim:

vim -u NONE /tmp/blah
:q
echo $?

我的退出状态为0。我使用Pathogen所以这也有效地禁用了插件。有没有人建议有效地确定退出状态的原因?我知道详细运行Vim并记录到文件。我应该在这个文件中寻找特定的东西吗?

如果有一种找到确定退出状态的确切线的方法,我很乐意知道它,因为搜索周围并没有太多变化。

1 个答案:

答案 0 :(得分:2)

最后在帮助中找到了这个命令::cq[uit]。因此,在进行详细日志记录后,请搜索\<cq\%[uit]\>

更新:还有一些方法可以使用vim编译一些解释器支持来改变退出状态:至少,以下工作:

python import sys
python sys.exit(1)
" (same for python3)

perl exit 1

我不知道其他语言是否足以在这里写下会退出vim并具有不同退出状态的代码示例。另请注意,使用:pyfile:rubyfile和其他:*file获取的文件中的此类命令也应该可以使用,而且此代码也可以在未随插件分发的模块中使用。

我认为此时最有效的方法是在找到问题根源之前禁用插件。