这样做时有一些令人烦恼的问题git commit
(例如,还有其他非git场景):我想输入的内容(真的很快):
git commit -a --amendEnter:wqEntergit push -fEnter
Run Code Online (Sandbox Code Playgroud)
我的问题是,在我必须等到vim退出之后,并且由于我的vimrc很大,所以需要一些时间。我知道,我被宠坏了。:wqEnter
我很确定有一个git commit标志根本不会打开vim,但是我更喜欢一个更通用的vim解决方案,它将使vim不吃我的输入。
我的vimrc在这里
虽然OP需要以vim为中心的解决方案,但我提供了这些git解决方法作为临时的创可贴(以及有用的信息)。
在底部,我提供了用于发现vim问题的资源。
no-edit
旗修改--no-edit
标志会导致vim无法启动(如果您不需要编辑提交消息,这是个好主意:这是标志的目的)。
这里有几个不同的配置选项,还有几个不同的“ vims”可以尝试。
另请参见变量
git(1)
部分。ENVIRONMENT VARIABLES
GIT_EDITOR
这对于偶尔使用很有用(当然,您可以使用别名)。
-c
在git上使用标志:
git -c core.editor='vim variant' commit...
Run Code Online (Sandbox Code Playgroud)
您还可以设置GIT_EDITOR
通过你的shell(如env
,export
或bash-ISMS)。
如果您无法解决vim问题并永久需要它,那就很好了。
编辑您的配置文件(例如git config --edit --global
),然后添加
[core]
editor = vim variant
Run Code Online (Sandbox Code Playgroud)
Vim的命令行开关使我们可以控制其行为的各个方面。你可能想要
--noplugin
)-u NORC
)-u NONE
)--clean
)-u DEFAULTS
或-u ~/.mygitvimrc
)使用完全不同的vimrcvimrc选项使我们能够为git工作制作极其高效且最小的vimrc,同时保留原始内容供全职人员使用。
实验可能表明,-N
其中某些是必需的(非兼容模式)。
选择可行的设置后,只需vim <args>...
在上面的位置之一中将其用作git编辑器即可。
在vim方面要尝试的第一件事是二进制拆分调试vimrc,并对vimrc进行概要分析,以找出根本原因。
这些步骤有助于调试。如果需要调试vimscript,请参见:help debug-scripts
。
一旦确定了根本原因,下一步就是压扁它。您可能需要
augroup
)与往常一样,关键是要首先了解问题所在。
对于OP,将病原体和vundle一起使用似乎是一个错误(两个不同的运行时路径/插件管理器?)。此外,vundle提供了vundle#begin
一个可能的时间节省了vundle#rc
。