如何全局配置git以使用特定的编辑器(例如vim)提交消息?


当前回答

设置Git的默认编辑器

选择一个:

在Git配置中设置core.editor:git-config—全局core.editor“vim”设置GIT_EDITOR环境变量:导出GIT_EDITOR=vim


设置所有程序的默认编辑器

设置标准化的VISUAL和EDITOR环境变量*:

export VISUAL=vim
export EDITOR="$VISUAL"

注意:不一定需要同时设置这两个,但某些程序可能不会使用更正确的VISUAL。参见视觉与编辑。


修复兼容性问题

有些编辑器需要--wait标志,否则将打开空白页。例如:

Sublime文本(如果设置正确;或使用可执行文件的完整路径代替subl):export VISUAL=“subl--等待”VS代码(添加shell命令后):export VISUAL=“code--wait”

其他回答

如果你正在使用命令行与设计师合作,那么Pico,而且不知道捷径;)

git config --global core.editor "pico"

Or

export VISUAL=pico
export EDITOR=pico

在macOS Big Sur(11.0)测试版上,TextMate:所有环境变量选项都无效。(设置所有三个:GIT_EDITOR、VISUAL和EDITOR。)

最后,在git中设置全局core.editor,这起到了作用:git-config--全局core.editor“~/bin/mate-w”

在windows 7中,当添加“Sublime”编辑器时,它仍然给我一个错误:

由于提交消息为空,正在中止提交。

Sublime无法保持焦点。

为了解决这个问题,我打开了c:\users/username/文件夹中的.gitconfig文件,并在单引号外添加了下面一行--wait选项。

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

希望对Sublime面临类似问题的人有所帮助。

使用git review时,我必须修改sequence.editor值,以便能够进行交互式rebase(gitrebase-I-p):

git config --global sequence.editor "gvim"  # or whatever your prefer

gvim要求:apt-installvim-gtk

工具书类

#2944 Interactive Rebase失败,出现警告:“Vim:警告:输出不到终端”安装sjubar/rebase编辑器的部分

对于emacs用户

.emacs:

(server-start)

外壳:

export EDITOR=emacsclient