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

Leo*_*ban 195 git vim terminal commit command-line-interface

现在尝试学习GitHub并在nettuts上完成这个Git essentials教程.我正在做关于提交的课程.

老师打字git commit并打开VIM作为他的编辑(我也想知道如何在Sublime Text 2中打开它)无论如何它在VIM中打开我添加1行说这是我的第一次提交并点击保存.

然后它会提示我将输出保存到桌面,这是我在他的截屏视频中看不到的.现在我还在VIM,不知道如何回到'正常'终端:(

我无法理解,所以我只是退出终端并重新启动它,再次执行git并发出一些关于重复的警告消息!不知道如果我需要(E)edit反正或者(A)abort.

git状态

在此输入图像描述

VIM

在此输入图像描述

当我重新打开终端并再次执行git时消息

在此输入图像描述

Gil*_*lle 350

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

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

要设置另一个编辑器,请导出EDITOR = myFavoriteEdior

  • NB一个简单的`:x`保存并退出vim它比`:wq`;有点快 (14认同)
  • +1解释命令序列,并在过程中显示如何在需要时切换编辑器*(但严重的是,为什么有人想要使用除vim以外的编辑器:)* (7认同)
  • esc 键对我没有任何作用。这是什么神秘命令,这是 2016 年还是 1996 年?极好的... (3认同)
  • 完全行不通。是的,我输入了提交消息。Vim 很烂。 (3认同)
  • 永久设置编辑器,您可以使用: git config --global core.editor myFavoriteEditor (2认同)
  • 我做`:wq!`只是强制退出并完成它!砰! (2认同)

pky*_*eck 37

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

git commit -m "This is the first commit"
Run Code Online (Sandbox Code Playgroud)


Lie*_*ers 19

您需要返回正常模式并使用其中任何一个保存提交消息

<Esc>:wq
Run Code Online (Sandbox Code Playgroud)

要么

<Esc>:x
Run Code Online (Sandbox Code Playgroud)

要么

<Esc>ZZ
Run Code Online (Sandbox Code Playgroud)

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

  • 没有...... esc键什么也没做.我被困在"Merge branch master of ..."中请输入一条提交消息来解释为什么这个合并是必要的. (2认同)
  • 在我看来没有任何事情发生 什么是这个神秘的命令,是2016年还是1996年? (2认同)

Jan*_*nen 16

只需执行vim"save and quit"命令:wq就可以了.

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

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

  • 感谢您将编辑器设置为升华文本的提示.我确实碰到了一个问题,我不得不设置一个`--wait`标志:`git config --global core.editor"subl --wait"`.这可以防止`由于空提交消息而中止提交 (4认同)

mha*_*tch 14

这是对你的问题的回答......

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

对于Windows:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"
Run Code Online (Sandbox Code Playgroud)

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

对于Mac/Linux:

git config --global core.editor "subl -n -w"
Run Code Online (Sandbox Code Playgroud)

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

错误:编辑器'subl -n -w'出现问题.

为...创建别名 subl

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)

再次检查路径是否与您的机器匹配.

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