bra*_*zoo 2362 git vim emacs commit-message editor
我更愿意在Vim中编写提交消息,但它在Emacs中打开它们.
如何配置Git以始终使用Vim?请注意,我想在全球范围内执行此操作,而不仅仅是针对单个项目.
dig*_*mer 3254
如果你想设置的编辑只对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"
Run Code Online (Sandbox Code Playgroud)
*不一定需要设置两者,但有些程序可能不会使用更正确的VISUAL
.见VISUAL
和EDITOR
.
对于Sublime Text:将其添加到.gitconfig
.这--wait
很重要.(它允许在sublime中键入文本并等待save/close事件.
[core]
editor = 'subl' --wait
Run Code Online (Sandbox Code Playgroud)
'subl'可以替换为可执行文件的完整路径,但通常在正确安装时可用.
Mar*_*off 571
复制粘贴:
git config --global core.editor "vim"
Run Code Online (Sandbox Code Playgroud)
如果您想知道自己在做什么.来自man git-commit
:
环境和配置变量
用于编辑提交日志消息的编辑器将从
GIT_EDITOR
环境变量,core.editor
配置变量,VISUAL
环境变量或EDITOR
环境变量(按此顺序)中选择.
Koe*_*en. 177
在Ubuntu和Debian上(感谢@MichielB)也可以通过运行来更改默认编辑器:
sudo update-alternatives --config editor
Run Code Online (Sandbox Code Playgroud)
这将提示以下内容:
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:
Run Code Online (Sandbox Code Playgroud)
Anm*_*raf 59
在Windows 7中,在添加"Sublime"编辑器时,它仍然给我一个错误:
由于空提交消息而中止提交.
Sublime无法保持关注.
为了解决这个问题,我在c:/ users/username /文件夹中打开了.gitconfig文件,并在双引号外添加了以下行--wait选项.
[core]
editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
Run Code Online (Sandbox Code Playgroud)
希望它对Sublime面临类似问题的人有所帮助.
Rya*_*yan 53
C:\Users\YOUR_USERNAME\.gitconfig
[core]
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe'
Run Code Online (Sandbox Code Playgroud)
git commit
并按下即可Enter
.它将弹出Notepad ++.Mar*_*son 27
使Visual Studio代码(vscode)成为您的默认git编辑器
git config --global core.editor "code --wait"
Run Code Online (Sandbox Code Playgroud)
tri*_*ley 23
如果你正在与使用命令行的设计师合作,那么Pico,并且不知道捷径;)
git config --global core.editor "pico"
Run Code Online (Sandbox Code Playgroud)
要么
export VISUAL=pico
export EDITOR=pico
Run Code Online (Sandbox Code Playgroud)
Ham*_*fri 18
要在ubuntu 20:04上使 vim 成为 git 的默认编辑器,请运行以下命令:
git config --global core.editor vim
Run Code Online (Sandbox Code Playgroud)
Moh*_*sen 17
运行此命令:
$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
Run Code Online (Sandbox Code Playgroud)
要不就:
$ git config --global core.editor "subl -w"
Run Code Online (Sandbox Code Playgroud)
Phi*_*aro 17
您可以:
git config --global core.editor "vim"
Run Code Online (Sandbox Code Playgroud)
或者,在你的.gitconfig
:
[core]
editor = vim
Run Code Online (Sandbox Code Playgroud)
2To*_*oad 16
git config --global core.editor "atom --wait"
Run Code Online (Sandbox Code Playgroud)
需要将Atom配置为从命令行运行以使上述工作:
OS X:从Atom安装shell命令:菜单栏> Atom>安装Shell命令
Windows:无需任何操作 - 默认情况下,atom配置为从命令行运行
Sна*_*ƒаӽ 11
git config --global core.editor notepad.exe
Run Code Online (Sandbox Code Playgroud)
按Ctrl+ S保存您的提交消息.要丢弃,只需关闭记事本窗口而不保存.
如果您点击保存的快捷方式,然后决定中止,请转到文件 - >另存为,然后在打开的对话框中,将"另存为类型"更改为"所有文件(*.*)".您将看到名为"COMMIT_EDITMSG"的文件.删除它,然后关闭记事本窗口.
编辑:或者,更轻松地从打开的记事本窗口中删除所有内容并点击保存.(感谢mwfearnley的评论!)
我认为对于小写,例如提交消息,记事本服务最好,因为它很简单,有窗口,立即打开.当你有大量的插件和东西时,即使你的崇高也可能需要一两秒才能被激怒.
She*_*man 11
这为遇到此问题的人们提供了一个答案,他们可能希望链接vim以外的编辑器。
Github所链接的资源很可能会在更新编辑器时保持最新状态,即使SO的答案(包括该答案)没有。
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机器上,home可能是C:\Users\your-user-name
,其中your-user-name是您的登录名。
在命令行中,输入可以访问此目录cd ~
。
例如,上面的命令将在以下[core]
部分的下面添加以下行:
[core]
editor = 'C:/Program Files/sublime text 3/subl.exe' -w
如果您使用的是其他编辑器,请使用上述两种方法替换为编辑器的路径。(并希望不需要标记来实现最佳用法。)
对于emacs用户
.emacs
:
(server-start)
Run Code Online (Sandbox Code Playgroud)
shellrc
:
export EDITOR=emacsclient
Run Code Online (Sandbox Code Playgroud)
要在Windows中按照这些说明操作,请确保已安装适用于Windows的git.在Windows中,我喜欢使用Git BASH,因此感觉更像Linux.
首先,我们想要创建一个特殊的Sublime Text项目,这样我们就可以在git调用编辑器时指定我们想要设置的特殊项目设置,以便在git中编辑时更容易.例如,我通常把我的尺子120个字符的大部分项目,但对于git的承诺的消息我希望它是72个字符,这样当你调用一个终端非常适合git log
或git lg
.
打开Sublime Text并转到"File" - >"New Window"以创建一个新的匿名项目.转到"项目" - >"将项目另存为..."并选择要保存的位置.在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":
[
]
}
Run Code Online (Sandbox Code Playgroud)
现在我们需要通过编辑.gitconfig
文件来设置git使用的编辑器.
您的用户副本将位于~/.gitconfig
.打开此文件并添加以下行.一定要使用正确的路径名来创建上面刚刚创建的git项目!我正在使用~/.gitconfig.sublime-project
.
[core]
editor = subl --project ~/.gitconfig.sublime-project --wait
Run Code Online (Sandbox Code Playgroud)
这--wait
很重要,因为它迫使git等到你继续之前关闭文件.该--project
行重要的是要知道哪些项目时混帐崇高打开你想要打开的崇高文本.
Per @ digitaldreamer上面的答案(/sf/answers/181778481/)," subl
可以替换为可执行文件的完整路径,但[ subl
正确]安装时,[ 别名]通常可用."
对于Windows,请首先阅读Linux说明以获取背景信息.现在我们将做一些几乎相同的事情.
(可选:创建subl
在Git BASH中使用的别名):
打开文本编辑器(例如:Notepad,Notepad ++,Sublime Text,Geany等),并在主目录中创建一个名为".bash_profile"的文件.因此它的路径是:C:\Users\MY_USER_NAME\.bash_profile
.将以下内容保存到其中:
alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
Run Code Online (Sandbox Code Playgroud)
这创建了一个Git BASH别名subl
,我们现在可以在Git BASH for Windows中使用它来轻松打开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
Run Code Online (Sandbox Code Playgroud)
/
NOT \
来分隔路径名中的文件夹!(感谢VonC 帮助我看到这个).subl
上面为Git BASH制作的别名在这里不起作用,所以你不能像在Linux示例中那样使用它,而是必须指定如上所示的整个路径.~
但是,该符号仍可用于访问Windows主目录.这为您提供了语法高亮显示git commit
消息,以及访问其他git命令git blame
(例如我在Sublime Text中经常使用)或git commit
(我不在Sublime Text中使用,因为我更喜欢命令行用于一般git流程,正如我在下面的评论中提到的这个答案).
要安装软件包:首先,确保安装了"软件包控制".接下来,按Ctrl+ Shift+ P(与工具→命令选项板相同)并键入"Package Control:Install Package"的全部或部分,然后按Enter键.在出现的搜索框中,搜索包"Git"并按Enter键,或单击它,自动安装它.
一旦安装,Ctrl+ Shift+ P然后搜索"git"将调出你可以在Sublime Text内部使用的git命令,例如git blame
.
现在,当您git commit
从命令行调用时,Sublime Text将打开.gitconfig.sublime-project
我们上面创建的项目的设置!当你输入一个段落时,你会注意到它超出了我们设置的标尺,因为软自动换行是关闭的.要通过每行末尾的自动插入硬返回强制进行硬包装,请将光标放在要自动换行的长行上,然后按Alt+ Q.它现在将在72个字符处硬包装/硬折叠,这是我们在上面的项目设置"标尺"参数中设置的.
现在,保存与提交信息Ctrl+ S,并退出(以完成git commit
用)Ctrl+ Shift+ W.
完成!
有一个您可以使用的命令列表,但对于 VS Code 使用此命令
git config --global core.editor "code --wait"
Run Code Online (Sandbox Code Playgroud)
这是所有编辑器的链接:https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config
小智 5
在 Git 配置中设置 core.editor:
git config --global core.editor "nano"
Run Code Online (Sandbox Code Playgroud)
设置 GIT_EDITOR 环境变量:
export GIT_EDITOR=nano
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
861832 次 |
最近记录: |