我如何让Git使用我选择的编辑器进行提交?
我宁愿在Vim中编写我的提交消息,但是它在Emacs中打开它们。
我如何配置Git始终使用Vim? 请注意,我想要在全球范围内执行此操作,而不是针对单个项目。
如果您只想为Git设置编辑器,则执行其中一项(您不需要):
- 设置
core.editor
在你的Git配置:git config --global core.editor "vim"
- 设置
GIT_EDITOR
环境变量:export GIT_EDITOR=vim
如果你想为Git 和其他程序设置编辑器,请设置标准化的VISUAL
和EDITOR
环境变量*:
export VISUAL=vim export EDITOR="$VISUAL"
*设置两者并不一定需要,但有些程序可能不会使用更正确的VISUAL
。 参见VISUAL
与EDITOR
。
对于崇高文本 :将其添加到.gitconfig
。 – --wait
很重要。 (它允许在崇高类型的文本,并会等待保存/关闭事件。
[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:
在Windows 7中,当添加“Sublime”编辑器时,它仍然给我一个错误:
由于空提交消息而中止提交。
崇高不能保持重点。
为了解决这个问题,我打开了c:/ users / username /文件夹中的.gitconfig文件,并在双引号之外添加了以下一行–wait选项。
[core] editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
希望对Sublime面临类似问题的人有所帮助。
在Windows 7中,将设置编辑器设置为Notepad ++
- 打开任何文本编辑器。
- 打开这个文件:
C:\Users\YOUR_USERNAME\.gitconfig
- 将此部分添加到底部:
[core] editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe'
- 保存并关闭文件。
- 当你使用git时,只需要写
git commit
然后Enter
。 它会弹出打开Notepad ++。 - 把你的提交信息写在文件的顶部,保存并关闭文件。 完成!
如果你正在与设计师一起使用命令行,然后Pico,并不知道捷径;)
git config --global core.editor "pico"
要么
export VISUAL=pico export EDITOR=pico
在Mac OSX 10中将Sublime Text 2设置为Git commit editor
运行这个命令:
$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
要不就:
$ git config --global core.editor "subl -w"
使Visual Studio代码(vscode)成为默认的git编辑器
git config --global core.editor "code --wait"
对于emacs用户
.emacs
:
(server-start)
shellrc
:
export EDITOR=emacsclient
Atom作为你的git编辑器
git config --global core.editor "atom --wait"
Atom需要配置为从命令行运行以上才能工作:
OS X :从Atom安装shell命令:菜单栏> Atom>安装Shell命令
Windows :无需任何操作 – atom默认配置为从命令行运行
Windows:将记事本设置为默认提交消息编辑器
git config --global core.editor notepad.exe
按Ctrl + S保存您的提交信息。 要放弃,只需关闭记事本窗口而不保存。
如果你点击保存的快捷方式,然后决定中止,进入文件 – >另存为,在打开的对话框中,将“另存为类型”更改为“所有文件(*。*)”。 您将看到名为“COMMIT_EDITMSG”的文件。 删除它,并关闭记事本窗口。
编辑:或者,更容易,从打开的记事本窗口中删除所有内容,并保存。 (感谢mwfearnley的评论!)
我认为对于小记事本如提交消息记事本服务最好,因为它很简单,就是有窗户,随时打开。 即使你的崇高可能需要一两秒钟,当你有一个插件和东西的负载被炒高。
Mvim作为你的git编辑器
像所有其他GUI应用程序一样,您必须使用wait标志启动mvim。
git config --global core.editor "mvim --remote-wait"
试试EDITOR=vim git commit
。
或者你可以通过在你的bashrc中export EDITOR=vim
将你的EDITOR设置为vim。
对于Mac应用程序商店中的TextWrangler用户:
git config --global core.editor "open -n -W -a TextWrangler"
此外,请确保您的“TextWrangler>首选项>应用程序>当TextWrangler成为活动:”设置设置为“无所事事”
这适用于OS X 10.11.4,Mac应用商店中的TextWrangler 5.0.2。
说明:
-n表示在新实例中打开。
-W表示等待应用程序退出,然后再使用编辑文件的内容作为提交消息。
-a TextWrangler意味着使用TextWrangler应用程序打开文件。
看到你的Mac终端应用程序中man open
更多的细节。
对于想要将Linux子系统用于neovim的 Windows用户:
git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"
这不是一个傻瓜式的解决方案,因为它不处理交互式重新绑定(例如)。 改进非常欢迎!
为Textmate用户
这将打开Textmate编辑器,当你想编辑你的提交。 需要安装textmate命令行工具。
git config --global core.editor "mate -w"
对于想要使用Kinesics文本编辑器的Windows用户
创建一个名为“k.sh”的文件,添加以下文本并放置在您的主目录(〜)中:
winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1
在git提示符下键入:
git config --global core.editor ~/k.sh