如何使Git使用我选择的编辑器进行提交?

我更愿意在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=vimexport 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配置中设置core.editorgit config --global core.editor "vim"
  • 设置GIT_EDITOR环境变量: export GIT_EDITOR=vim

如果要为Git 和其他程序设置编辑器,请设置标准化的VISUALEDITOR环境变量*:

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 loggit 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"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值