我更愿意在Vim中编写我的提交消息,但是它正在Emacs中打开它们。
如何配置Git始终使用Vim? 请注意,我要全局执行此操作,而不仅仅是针对单个项目。
#1楼
而且,如果您正在与使用命令行的设计师合作,那么Pico会不知道捷径;)
git config --global core.editor "pico"
要么
export VISUAL=pico
export EDITOR=pico
#2楼
在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:
#3楼
在Windows 7中,在添加“ Sublime”编辑器时,它仍然给我一个错误:
由于提交消息为空而中止提交。
Sublime无法保持焦点。
为了解决这个问题,我在c:/ users / username /文件夹中打开了.gitconfig文件,并在双引号之外添加了带有--wait选项的以下行。
[core]
editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
希望它对与Sublime面临类似问题的人有所帮助。
#4楼
在Mac OSX 10中将Sublime Text 2设置为Git提交编辑器
运行以下命令:
$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
要不就:
$ git config --global core.editor "subl -w"
#5楼
在Windows 7中,将编辑器设置为Notepad ++
- 打开任何文本编辑器。
- 打开此文件:
C:\\Users\\YOUR_USERNAME\\.gitconfig - 将此部分添加到底部:
[core]
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe'
- 保存并关闭文件。
- 使用
git commit ,只需编写git commit 并按Enter 。 它将弹出打开记事本++。 - 将提交消息写在文件顶部,然后保存并关闭文件。 做完了!
#6楼
只需尝试EDITOR=vim git commit 。
或者,您可以通过在bashrc中export EDITOR=vim 来export EDITOR=vim 。
#7楼
对于Textmate用户
当您要编辑提交时,将在其中打开Textmate编辑器。 需要安装textmate命令行工具。
git config --global core.editor "mate -w"
#8楼
复制粘贴此:
git config --global core.editor "vim"
如果您想知道自己在做什么。 从man git-commit :
环境和配置变量
将从GIT_EDITOR 环境变量, core.editor 配置变量, VISUAL 环境变量或EDITOR 环境变量( core.editor 顺序)中选择用于编辑提交日志消息的EDITOR 。
#9楼
如果要设置只对Git的编辑器,你要么(你不需要两者):
如果要为Git 和其他程序设置编辑器,请设置标准化的VISUAL 和EDITOR 环境变量*:
export VISUAL=vim
export EDITOR="$VISUAL"
*不必同时设置两者,但是某些程序可能未使用更正确的VISUAL 。参见VISUAL vs. EDITOR 。
对于Sublime Text :将其添加到.gitconfig 。 --wait 很重要(它允许在sublime中键入文本,并将等待保存/关闭事件。)
[core]
editor = 'subl' --wait
可以用可执行文件的完整路径替换“ subl”,但通常在正确安装后才可用。
#10楼
对于emacs用户
.emacs :
(server-start)
shellrc :
export EDITOR=emacsclient
#11楼
Atom作为您的git编辑器
git config --global core.editor "atom --wait"
需要将Atom配置为从命令行运行才能使上述工作正常进行:
OS X :从Atom安装Shell命令:菜单栏> Atom>安装Shell命令
Windows :无需任何操作-默认情况下,atom配置为从命令行运行
#12楼
Mvim作为您的git编辑器
像所有其他GUI应用程序一样,您必须使用wait标志启动mvim。
git config --global core.editor "mvim --remote-wait"
#13楼
Windows:将记事本设置为默认的提交消息编辑器
git config --global core.editor notepad.exe
按Ctrl + S保存您的提交消息。 要丢弃,只需关闭记事本窗口而不保存即可。
如果您点击保存的快捷方式,然后决定中止,请转到“文件”->“另存为”,然后在打开的对话框中将“另存为类型”更改为“所有文件(*。*)”。 您将看到一个名为“ COMMIT_EDITMSG”的文件。 删除它,然后关闭记事本窗口。
编辑:或者,更容易地,从打开的记事本窗口中删除所有内容,然后单击保存。 (感谢mwfearnley的评论!)
我认为,对于诸如提交消息之类的小写文章,记事本效果最好,因为它很简单,带有Windows,可立即打开。 当您有大量的插件和东西时,甚至连您的崇高精神都可能需要一两秒钟才能被激发。
#14楼
对于Mac App Store中的TextWrangler用户:
git config --global core.editor "open -n -W -a TextWrangler"
另外,确保将“ TextWrangler>首选项>应用程序>当TextWrangler变为活动状态时:”设置设置为“不执行任何操作”
这对我适用于Mac App Store中带有TextWrangler 5.0.2的OS X 10.11.4。
说明:
-n表示在新实例中打开。
-W表示要等到应用程序退出后再使用已编辑文件的内容作为提交消息。
-a TextWrangler意味着使用TextWrangler应用程序打开文件。
有关更多详细信息,请参见Mac Terminal应用程序中的man open 。
#15楼
对于要使用Kinesics Text Editor的Windows用户
创建一个名为“ k.sh”的文件,添加以下文本并将其放置在您的主目录()中:
winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1
在git提示符下输入:
git config --global core.editor ~/k.sh
#16楼
将Visual Studio Code(vscode)设置为默认的git编辑器
git config --global core.editor "code --wait"
#17楼
对于想要将neovim与Linux的Windows子系统一起使用的Windows用户:
git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"
这不是一个万无一失的解决方案,因为它不处理交互式重定基(例如)。 改进非常欢迎!
#18楼
Sublime Text 3作为git编辑器的最佳设置(Windows和Linux说明):
要在Windows中遵循这些说明,请确保已安装Windows的git 。 在Windows中,我喜欢使用Git BASH,使它更像Linux。
首先,我们要创建一个特殊的Sublime Text项目,以便我们可以在git调用编辑器时指定要设置的特殊项目设置,以使在git中进行编辑时更容易。 例如,我通常在大多数项目中将标尺设置为120个字符,但对于git commit消息,我希望将其设置为72个字符,这样当您调用git log 或git lg 时,它可以很好地适合终端。
1.使用我们要用来编辑git commit消息的设置创建Sublime Text项目
打开Sublime Text,然后转到“文件”->“新窗口”以创建一个新的匿名项目。 转到“项目”->“将项目另存为...”,然后选择一个保存位置。 在Linux中,我将其保存在Linux主目录中,文件名为.gitconfig.sublime-project 。 因此,它的路径是: ~/.gitconfig.sublime-project 。 在Windows中,也将其保存在主目录中,例如: C:\\Users\\MY_USER_NAME\\.gitconfig.sublime-project 现在转到“项目”->“编辑项目”以编辑项目设置。 粘贴以下内容并保存设置。 如果需要,请对项目设置进行进一步的编辑。
{
//For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html
"folders":
[
],
"settings":
{
// Disables horizontal scrolling if enabled.
// May be set to true, false, or "auto", where it will be disabled for
// source code, and otherwise enabled.
"word_wrap": false,
// Set to a value other than 0 to force wrapping at that column rather than the
// window width
"wrap_width": 0,
// Columns in which to display vertical rulers
"rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles
// The number of spaces a tab is considered equal to
"tab_size": 4,
// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": true,
},
"build_systems":
[
]
}
2.设置git使用的编辑器
现在,我们需要通过编辑.gitconfig 文件来设置git使用的编辑器。
对于Linux:
您的用户副本将位于~/.gitconfig 。 打开此文件并添加以下行。 确保使用上面刚刚创建的git项目的正确路径名! 我正在使用~/.gitconfig.sublime-project 。
[core]
editor = subl --project ~/.gitconfig.sublime-project --wait
--wait 很重要,因为它迫使git等待直到关闭文件再继续。 该--project 线重要的是要知道哪些项目时混帐崇高打开你想要打开的崇高文本。
根据上面subl 的回答( https://stackoverflow.com/a/2596835/4561887 ),“ subl 可以替换为可执行文件的完整路径,但如果正确安装了[Sublime],则通常可以使用[别名subl ]。 ”
对于Windows:
对于Windows,请先阅读Linux指导以获取背景信息。 现在,我们将执行几乎相同的操作。
(可选:创建在Git BASH中使用的subl 别名):
打开文本编辑器(例如:记事本,记事本++,Sublime Text,Geany等),然后在主目录中创建一个名为“ .bash_profile”的文件。 因此,其路径为: C:\\Users\\MY_USER_NAME\\.bash_profile 。 将以下内容保存到其中:
alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
这将创建一个名为subl 的Git BASH别名,我们现在可以在Windows的Git BASH中使用它来轻松打开Sublime。 此步骤不是必需的,但对于一般的Git BASH使用非常有用。 现在您可以调用subl . ,例如,在Git BASH中打开当前目录中的新Sublime项目。
(强制性):
编辑在主目录中找到的.gitconfig 文件: C:\\Users\\MY_USER_NAME\\.gitconfig ,方法是添加以下内容。 请注意上述Linux指令中的细微变化:
[core]
editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
- 注意,您必须指定Sublime Text可执行文件的完整路径。 注意斜线的方向! 使用
/ NOT \\ 分隔路径名称中的文件夹! (感谢VonC 帮助我看到了这一点 )。 - 我们
subl 为Git BASH制作的subl 别名在这里不起作用,因此您不能像在Linux示例中那样使用它,而是必须如上所述指定整个路径。 - 但是,
~ 符号在这里仍然可以正常工作以进入Windows主目录。
2.5。 (可选)将“ Git”软件包安装到Sublime Text 3中。
这使您可以突出显示git commit 消息的语法,并可以访问其他git命令,例如git blame (在Sublime Text中经常使用)或git commit (在Sublime Text中不使用,因为我更喜欢常规git flow的命令行,正如我在此答案下方的评论中提到的那样。
要安装软件包:首先,确保已安装“软件包控制”。 接下来,按Ctrl + Shift + P (与“工具”→“命令面板”相同)并键入“ Package Control:Install Package”的全部或一部分,然后按Enter。 在出现的搜索框中,搜索软件包“ Git”并在其上按Enter键,或单击它以自动安装。
安装后, 按Ctrl + Shift + P然后搜索“ git”将弹出git命令,您现在可以在Sublime Text内部内部使用该命令,例如git blame 。
3.使用
现在,例如,当您正常从命令行调用git commit 时,Sublime Text将打开到我们在上面创建的.gitconfig.sublime-project ,并带有该项目的设置! 键入段落时,您会注意到,由于关闭了自动换行功能,因此该段落超出了我们设置的标尺。 要在每行末尾通过自动插入的硬返回来强制进行自动换行,请将光标放在要自动换行的长行上,然后按Alt + Q。 现在它将以72个字符进行硬包装/硬折叠,这是我们在上面的项目设置的“ rulers”参数中设置的。
现在,使用Ctrl + S保存提交消息,并使用Ctrl + Shift + W退出(完成git commit )。
做完了!
#19楼
这为遇到此问题的人们提供了一个答案,他们可能希望链接vim以外的编辑器。
Github所链接的资源很可能会在更新编辑器时保持最新状态,即使SO的答案(包括该答案)没有。
将文本编辑器与git关联
Github的帖子确切地显示了在各种编辑器中键入您的命令行的内容,包括特定于每个编辑器的选项/标志,以使其最适合与git一起使用。
记事本++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
崇高文字:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"
原子:
git config --global core.editor "atom --wait"
上面的命令假定您的编辑器已安装在Windows计算机的默认目录中。
这些命令基本上将双引号之间的文本添加到主目录中的.gitconfig 。 在Windows计算机上,主目录可能是C:\\Users\\your-user-name ,其中your-user-name是您的登录名。 在命令行中,您可以通过输入cd ~ 进入此目录。
例如,上面的命令将在[core] 部分下添加以下行,如下所示:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w
如果您使用的是其他编辑器,请使用上述两种方法替换为编辑器的路径。 (并希望不需要标记来实现最佳用法。)
#20楼
使用git-review 我必须修改sequence.editor 值才能进行交互式变基( git rebase -i -p ):
git config --global sequence.editor "gvim" # or whatever your prefer
gvim 要求: apt install vim-gtk
参考文献
#21楼
对于使用TextEdit或用于文本的自然环境编辑器的Mac osX
git config --global core.editor "open -W -n"
|