使用Vim输入Git提交消息的问题

Problems with entering Git commit message with Vim

操作系统:Windows

我写的

1
$ git commit

然后

"# Please enter the commit message"

我写了一些文字,比如

"Form validation added"

按Enter键,不提交。然后按shift+enter、ctrl+enter、alt+enter-仍然没有提交。

我认为这是愚蠢的麻烦,但我必须做什么?


如果它是VIM for Windows,则可以执行以下操作:

  • 按照提供的准则输入您的信息
  • esc以确保您已退出插入模式。
  • 然后键入:wqenterZZ

注意,在VIM中,通常有几种方法可以做一件事。不过这里有一点不同。:wqenter在关闭当前文件之前总是先写入当前文件,而ZZ:xenter:xienter:xitenter:exienter:exitenter只在文档被修改时写入。所有这些同义词的按键次数都不一样。


我假设您使用的是msys-git。如果您是,那么弹出来编写提交消息的编辑器是vim。维姆一开始不友好。您可能更喜欢切换到其他编辑器。如果您想使用不同的编辑器,请看下面的答案:如何在msysgit中使用notepad++(或其他)?

如果要使用vim,请键入i以键入消息。当高兴时按Esc。然后输入:wq,git就会高兴了。

或者只需键入git commit -m"your message here"就可以跳过编辑器。


你试过去吗?git commit-m"此处显示消息"

所以在你的例子中:

1
git commit -m"Form validation added"

当然,在添加了文件之后。


通常,git commit会显示一个交互式编辑器(在Linux上,也可能是cygwin,由$EDITOR环境变量的内容决定),供您在中编辑提交消息。当您保存并退出时,提交就完成了。

您应该确保尝试提交的更改已经添加到git索引中;这决定了提交的内容。有关详细信息,请参阅http://gitref.org/basic/。


您可以将注释字符更改为除此之外的其他内容:

1
git config --global core.commentchar"@"