发现Vim退出状态的原因

发现Vim退出状态的原因,vim,Vim,运行时: vim /tmp/blah :q echo $? 我的退出状态为1。这破坏了包括Git在内的各种东西。如果我在没有vimrc的情况下运行vim: vim -u NONE /tmp/blah :q echo $? 我的退出状态为0。我使用病原体,所以这也有效地禁用插件。是否有人提出有效确定退出状态原因的建议?我知道详细地运行Vim并记录到文件中。我应该在这个文件中查找特定的内容吗 如果有一种方法可以找到确定退出状态的确切行,我很想知道它,因为四处搜索没有找到多少结果。最终在帮助中找到

运行时:

vim /tmp/blah
:q
echo $?
我的退出状态为
1
。这破坏了包括Git在内的各种东西。如果我在没有vimrc的情况下运行vim:

vim -u NONE /tmp/blah
:q
echo $?
我的退出状态为
0
。我使用病原体,所以这也有效地禁用插件。是否有人提出有效确定退出状态原因的建议?我知道详细地运行Vim并记录到文件中。我应该在这个文件中查找特定的内容吗


如果有一种方法可以找到确定退出状态的确切行,我很想知道它,因为四处搜索没有找到多少结果。

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

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

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

perl exit 1
我对其他语言的了解还不够,无法在这里编写以不同退出状态退出vim的代码示例。还请注意,使用
:pyfile
:rubyfile
和其他
:*file
来源的文件中的此类命令也应起作用,在未随插件分发的模块中,此代码也应起作用


我认为目前最有效的方法是禁用插件,直到找到问题的根源。

如果您发布.vimrc,可能会有所帮助。恐怕不会。它有2000多行,我使用了大约25个插件。大海捞针的问题你看。谢谢你的回答,但恐怕运气不好。我想这可能也是cquit,应该写在我的问题中。它不会出现在日志中(使用-V15),也不会出现在my.vim/(包括.vimrc)的单个文件中。我还搜索了“cq”并扫描了每一次点击,以确保只有十几次。这提示了一个问题:还有什么可以修改退出状态?回到这个问题。通过升级到Vim 7.3,我终于解决了这个问题。某个脚本一定在使用新功能。但我一直没能找到它。谢谢你的帮助。