协慌网

登录 贡献 社区

如何让 Git 使用我选择的编辑器进行提交?

我更愿意在 Vim 中编写提交消息,但它在 Emacs 中打开它们。

如何配置 Git 以始终使用 Vim?请注意,我想在全球范围内执行此操作,而不仅仅是针对单个项目。

答案

如果要设置对 Git 的编辑器,你要么(你不需要两者):

  • 在你的 Git 配置中设置core.editorgit config --global core.editor "vim"
  • 设置GIT_EDITOR环境变量: export GIT_EDITOR=vim

如果要为 Git 和其他程序设置编辑器,请设置标准化的VISUALEDITOR环境变量 *:

export VISUAL=vim
export EDITOR="$VISUAL"

* 不一定需要设置两者,但某些程序可能不使用更正确的VISUAL 。见VISUALEDITOR


对于 Sublime Text :将其添加到.gitconfig 。 - --wait很重要。 (它允许在 sublime 中键入文本并等待 save / close 事件。

[core]
    editor = 'subl' --wait

'subl' 可以替换为可执行文件的完整路径,但通常在正确安装时可用。

复制粘贴:

git config --global core.editor "vim"

如果您想知道自己在做什么。来自man git-commit

环境和配置变量

用于编辑提交日志消息的编辑器将从GIT_EDITOR环境变量, core.editor配置变量, VISUAL环境变量或EDITOR环境变量( core.editor顺序)中选择。

在 Ubuntu 和 Debian 上(感谢 @MichielB)也可以通过运行来更改默认编辑器:

sudo update-alternatives --config editor

这将提示以下内容:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: