终端中的Git提交会打开VIM,但无法返回到终端


209

现在尝试学习GitHub,并在nettuts上完成本Git基础教程。我正在上关于提交的课程。

老师输入内容git commit,然后以VIM作为他的编辑器打开(我也想知道如何使其在Sublime Text 2中打开),无论如何,它在VIM中打开,并且我在第一行中添加这是我的第一次提交并点击保存。

接下来,它提示我将输出保存到桌面,这在他的屏幕录像中没有看到。现在我仍在VIM中,不确定如何返回“普通”终端:(

我不知道该怎么办,所以我刚刚退出终端并重新启动它,再次进行git commit并收到一些有关重复的警告消息!不知道我是否(E)edit仍然需要(A)abort

git状态

在此处输入图片说明

vim

在此处输入图片说明

消息当我重新打开终端,做混帐再犯

在此处输入图片说明


3
如果您只想知道如何保存和退出vim,它是:wq
guido 2012年

1
同样的问题...一旦我尝试提交,终端就会打开某种我不能退出的编辑器。很烦人!
Kokodoko 2015年

3
@Kokodoko是的,我git commit -m 'my message'现在提交,就是这样:)不需要编辑器,不需要使用1,只需要1个衬板。
里昂·加班

1
@LeonGaban的简短提交消息对于第一次提交是可以的,但是从它们开始,您应该尝试采用具有简短主题的技术,然后详细说明该提交中实际发生的情况。
liamvictor

1
@LeonGaban你真了不起
baydi 2015年

Answers:


368

要保存您的工作并退出,请按Esc,然后按:wq(w代表写入,q代表退出)。

或者,您可以通过按Esc然后保存并退出:x

要设置运行其他编辑器export EDITOR=myFavoriteEdior你的终端上,在那里myFavoriteEdior可以vigeditsubl(对于崇高)等。


7
+1解释命令序列,并在过程中显示了如何在需要时切换编辑器(但认真地讲,为什么有人要使用vim以外的编辑器:)
Lieven Keersmaekers,2012年

15
NB一个简单的:x保存并退出VIM这是一个有点快于:wq;)
泽维尔

1
永久设置编辑器,您可以使用:git config --global core.editor myFavoriteEditor
Machta 2014年

2
esc键对我无济于事。这是什么神秘命令,是2016年还是1996年?难以置信...
oyalhi

1
完全不起作用。是的,我输入了提交消息。Vim很烂。
Dave Kielpinski

40

并不是真正解决VIM问题的答案,但是您可以使用命令行来输入提交消息:

git commit -m "This is the first commit"

19

您需要返回到普通模式并使用以下任一命令保存提交消息

<Esc>:wq

要么

<Esc>:x

要么

<Esc>ZZ

Esc键返回从插入模式到正常模式。的:wq:xZZ顺序写入更改并退出编辑器。


2
不,... esc键不起作用。我被困在“ ...的合并分支主管”中,请输入提交消息,以解释为什么需要进行此合并。
Kokodoko

难道你输入一个提交信息?按下时会发生什么<Esc>:wq
Lieven Keersmaekers,2015年

2
就我而言,什么也没有发生。这是什么神秘命令,是2016年还是1996年?
oyalhi,2016年

1
@ Homo-Erectus-我大约在4年前开始使用vim,但我唯一的遗憾是我没有更早开始。我不认为这会浪费时间,您应该尝试一下。您的大脑确实有一个陡峭的学习曲线,但这将是值得的。至于命令,我没有太多添加。键入<esc>,键入:,键入x,应该是它。
Lieven Keersmaekers,2016年

@oyalhi它是从不迟到,开始使用vim
阿纳托利Yakimchuk

16

只需执行vim“保存并退出”命令即可解决问题:wq

为了让Git在另一个编辑器中打开它,您需要将Git core.editor设置更改为运行所需编辑器的命令。

git config --global core.editor "command to start sublime text 2"


4
感谢您提供有关将编辑器设置为升华文本的提示。但是,我确实遇到了一个问题,我必须设置一个--wait标志:git config --global core.editor "subl --wait"。这可以防止Aborting commit due to empty commit message.
Eric

16

这是在回答您的问题...

我也想知道如何在Sublime Text 2中打开它

对于Windows:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

检查路径 sublime_text.exe是否正确,并根据需要进行调整。

对于Mac / Linux:

git config --global core.editor "subl -n -w"

如果收到错误消息,例如:

错误:编辑器'subl -n -w'存在问题。

为创建别名 subl

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

再次检查路径是否与您的计算机匹配。

对于Sublime Text,只需保存cmd S并关闭窗口cmd W以返回git。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.