如何全局配置git以使用特定的编辑器(例如vim)提交消息?
当前回答
使用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编辑器的部分
其他回答
这为找到这个问题的人提供了一个答案,他们可能希望链接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
如果您有不同的编辑器,只需使用上述任一方法替换为编辑器的路径。(希望不需要任何标志来实现最佳使用。)
在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键。它将弹出记事本++。在文件顶部写入提交消息,然后保存并关闭文件。完成!
对于IntelliJ用户
当我尝试git rebase时,我遇到了以下错误:'提示:正在等待编辑器关闭文件。。。code-n-w:code:未找到命令错误:编辑器“code-n-w”存在问题
当我试图将IntelliJ与Git关联时,出现了同样的错误:
问题是我没有在环境PATH变量中添加命令代码。我不想在我的终端上使用Visual Studio代码。这就是为什么它提示“命令未找到”。我通过删除
编辑器=代码-n-w
从.gitconfig文件的核心部分。Git再次正常工作。
在Git配置中设置core.editor:
git config --global core.editor "nano"
设置GIT_EDITOR环境变量:
export GIT_EDITOR=nano
设置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”
推荐文章
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔
- 如何从另一个分支获得更改
- Git:权限被拒绝(publickey)致命-无法从远程存储库读取。克隆Git存储库时
- git reflog和log有什么区别?
- git推挂在Total line之后
- 重命名git子模块
- 如何在Vim或Linux中将空格转换为制表符?
- 结合Git存储库的前两次提交?
- Xcode 6 gitignore文件应该包括什么?