【问题标题】:How to add commit message using vim?如何使用 vim 添加提交消息?
【发布时间】:2018-01-11 13:43:02
【问题描述】:

尝试更多地了解 Git,并从我现在所拥有的绝对基础知识继续前进。我希望能够使用 vim(或 nano,或任何其他文本编辑器)添加提交消息,而不是将所有日志消息放在命令行上。谁能一步一步告诉我如何做到这一点?

【问题讨论】:

  • 如果您没有在命令行中指定-m <message>git 将为您的提交消息打开一个编辑器。请参阅git-var 手册页以获取有关如何配置 将使用哪个 编辑器的一些信息。
  • git commit 没有-m 将打开提交消息的默认编辑器
  • 我创建了一个新的测试文件。在没有 -m 参数的情况下提交并且 vim 确实出现了。在 vim 中插入文本后,如何将其保存为提交消息?
  • 保存并退出 :wq

标签: git


【解决方案1】:

这主要是一个关于使用VIM的问题,所以让我们来吧。

首先,您需要设置 Git 以使用 Vim 作为编辑器,如果这不是您的默认设置。您可以通过添加到您选择的 git 配置中来做到这一点(没有一个是本地的,--global--system): git config --global core.editor vim

那么当你提交时,你不要添加-m参数,留空: git commit // or git commit -a

之后,您将进入 VIM,处于转义模式。然后您需要启动插入模式才能写入。最简单的方法是输入i,底部会出现一条消息(-- INSERT --)。您处于插入模式,现在可以输入您的消息。

之后,您必须退出插入模式,只需按一次Esc。底部的-- INSERT -- 消息应该消失。您现在再次处于退出模式,您必须保存并退出。

这是通过使用: 键进入命令模式并输入命令wqx 来完成的,在底部输入:wq:x

w 代表写,q 代表退出,所以wq 是写和退出。 xwq 的别名。

之后,您只需按 Enter 即可完成,退出 VIM。

如果您有任何疑问发表评论,我会补充。

【讨论】:

  • 我按照这里的所有步骤。在我做了 :x 之后,我回到了正常的终端窗口。如何使用我在 vim 编辑器中输入的消息检查文件是否已提交?
  • 我很抱歉没有检查 cmets 部分并花了这么长时间。我敢打赌你现在已经知道了,但对于其他不知道的人:只需使用git log 检查日志即可。这将打开所有使用 less 提交的 git 日志。您可以使用上下箭头或空格键进行导航,然后按字母 q 退出。
  • 我把“vim”改成了“nvim”,它也很有魅力。谢谢!
【解决方案2】:

使用时

git commit

使用“正常”设置时,vim 控制台将自动打开。

在 vim 控制台中,您必须先按 i,然后才能在光标位置输入文本。

接下来,您必须按ESC 才能离开输入菜单。要保存更改,请输入:wq(写后退出,冒号是进入命令模式),然后点击ENTER

请查看help files

【讨论】:

  • 这不是我的问题。我可以插入文本,我需要知道如何将其保存为提交消息。
  • 对不起,在答案中添加了这个。使用:wqENTER
  • :wq+ENTER 给出E32: No file name
【解决方案3】:

如果你不将-m 参数传入git commit,那么默认情况下Git 会打开vim 以允许用户编写提交消息。

要将编辑器更改为不同的内容,请运行以下命令(例如,对于 vim);

git config --global core.editor "vim"

【讨论】:

  • OP 特别要求 Vim。 Answer 故意用 Vim 代替 Emacs。 编辑战争愈演愈烈。
【解决方案4】:

如果您不使用-m 标志,则将打开编辑器。默认情况下,它是 vim,但您可以更改它:

git config --global core.editor nano

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 2018-03-02
    • 2021-03-10
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多