如何全局配置git以使用特定的编辑器(例如vim)提交消息?
当前回答
对于Mac应用商店中TextWrangler的用户:
git config --global core.editor "open -n -W -a TextWrangler"
此外,确保“TextWrangler>首选项>应用程序>当TextWranger变为活动时:”设置设置为“不执行任何操作”
这适用于Mac应用商店中使用TextWrangler 5.0.2的OS X 10.11.4。
说明:
-n表示在新实例中打开。
-W表示在使用编辑文件的内容作为提交消息之前,等待应用程序退出。
-a TextWrangler表示使用TextWrangle应用程序打开文件。
有关详细信息,请在Mac终端应用程序中查看man open。
其他回答
在Windows 7中,将编辑器设置为记事本++
打开任何文本编辑器。打开此文件:C:\Users\YOUR_USERNAME\.gitconfig将此部分添加到底部:
对于64位Notepad++,请使用:
[core]
editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar
对于32位Notepad++,请使用:
[core]
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
保存并关闭文件。使用git提交时,只需编写gitcommit并按Enter键。它将弹出记事本++。在文件顶部写入提交消息,然后保存并关闭文件。完成!
这为找到这个问题的人提供了一个答案,他们可能希望链接vim以外的编辑器。
Github提供的链接资源很可能会在编辑更新时保持最新,即使SO(包括这个)上的答案不是这样。
将文本编辑器与git关联
Github的帖子准确地显示了各种编辑器在命令行中输入的内容,包括特定于每个编辑器的选项/标志,以使其与git配合得更好。
记事本++:git-config--global-core.editor“'C:/Program Files(x86)/Notepad++/nopad++.exe'-multeInst-notibbar-nosession-noPlugin”
Sublime文本:git-config--全局core.editor“'c:/Program Files\sublimitext 3/subl.exe'-w”
原子:git-config--全局core.editor“atom--等待”
上面的命令假设您的编辑器已安装在windows计算机的默认目录中。
这些命令基本上将双引号之间的文本添加到主目录中的.gitconfig。在windows计算机上,主页可能是C:\Users\您的用户名,其中您的用户名是您的登录名。在命令行中,您可以通过键入cd~来访问此目录。
例如,上面的命令将在[core]部分下面添加以下行,如下所示:[核心]editor='C:/Program Files\sublime text 3/subl.exe'-w
如果您有不同的编辑器,只需使用上述任一方法替换为编辑器的路径。(希望不需要任何标志来实现最佳使用。)
Mvim作为您的git编辑器
与所有其他GUI应用程序一样,您必须使用wait标志启动mvim。
git config --global core.editor "mvim --remote-wait"
对于emacs用户
.emacs:
(server-start)
外壳:
export EDITOR=emacsclient
使用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编辑器的部分
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 在Vim中如何从“gf”返回
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式