如何在msysgit中使用Notepad ++(或其他)?

时间:2009-10-27 22:59:29

标签: git configuration text-editor notepad++ msysgit

如何在msysgit中使用Notepad ++(或除vim之外的任何其他编辑器)?

我尝试了以下所有方面无济于事:

git config --global core.editor C:\Program Files\Notepad++\notepad++.exe

git config --global core.editor "C:\Program Files\Notepad++\notepad++.exe"

git config --global core.editor C:/Program Files/Notepad++/notepad++.exe

git config --global core.editor C:\\Program Files\\Notepad++\\notepad++.exe

11 个答案:

答案 0 :(得分:430)

git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

或者,对于64位Windows和32位安装的Notepad ++:

git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

或者,可以在32位或64位Windows上的命令行上发出以下命令。它将从注册表中提取notepad ++。exe的位置,并配置git以自动使用它:

FOR /F "usebackq tokens=2*" %A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" /ve`) DO git config --global core.editor "'%B' -multiInst -notabbar -nosession -noPlugin"

如果您希望从.BAT或.CMD文件中放置上述内容,则必须将%A替换为%% A,将%B替换为%% B

答案 1 :(得分:75)

2010-2011更新:

zumalifeguardsolution(upvoted)比原始的更简单,因为它不再需要shell包装器脚本。

正如我在“How can I set up an editor to work with Git on Windows?”中解释的那样,我更喜欢包装器,因为更容易尝试切换编辑器或更改一个编辑器的路径,而无需使用{注册所述更改{1}}再次
但那只是我。


其他信息:以下解决方案适用于 Cygwin ,而zuamlifeguard的解决方案则不适用。


原始答案。

以下内容:

git config

确实有效。这些命令被解释为shell脚本,因此想要在C:\prog\git>git config --global core.editor C:/prog/git/npp.sh C:/prog/git/npp.sh: #!/bin/sh "c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*" 脚本中包装任何Windows命令集 (作为Franky comments:“请记住使用Unix样式的行结尾保存您的sh文件或接收神秘的错误消息!”)

有关SO问题的更多详情How can I set up an editor to work with Git on Windows?

注意'.sh'选项,用于确保来自Git的每次调用都有一个新的记事本++实例。

另请注意,如果您在 Cygwin 上使用Git(并希望use Notepad++ from Cygwin),则scphantm在“using Notepad++ for Git inside Cygwin”中说明您必须请注意:

  

-multiInst正在传递git路径,cygwin不知道如何处理它

因此,该案例中的脚本将是:

npp

多行可读性:

#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"

#!/bin/sh "C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \ -nosession -noPlugin "$(cygpath -w "$*")" 是此处的重要部分。

Val commented(然后删除)您不应使用"$(cygpath -w "$*")"选项:

  

在rebase期间禁用选项卡是没有用的,但是对于一般的Notepad可用性会造成很大的伤害,因为-notabbar成为默认设置,并且每次在rebase之后启动记事本时都必须-notab。这是地狱。你推荐了地狱。

所以请使用:

Settings>Preferences>General>TabBar> Hide>uncheck

那是:

#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"

如果要将脚本“#!/bin/sh "C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \ -noPlugin "$(cygpath -w "$*")" ”放在带空格的路径中(如 'npp.sh',),您有三种选择:

  • 尝试引用路径(单引号或双引号),如:

    c:\program files\...
  • 或尝试shortname notation(不是万无一失):

    git config --global core.editor 'C:/program files/git/npp.sh'
    
  • 或(我最喜欢的)将“git config --global core.editor C:/progra~1/git/npp.sh ”放在npp.sh环境变量的目录部分中。那么您就不必为脚本指定任何路径。

    %PATH%
  • Steiny报告in the comments必须执行以下操作:

    git config --global core.editor npp.sh
    

答案 2 :(得分:6)

这对我有用

git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe

答案 3 :(得分:5)

git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""

答案 4 :(得分:5)

Git for Windows v2.15.0 (October 30th 2017)开始,现在可以将configure nanoNotepad++作为Git的默认编辑instead of vim

在安装过程中,您将看到以下屏幕:

enter image description here

答案 5 :(得分:3)

我使用PATH变量的方法。将Notepad ++的路径添加到系统的PATH变量中,然后将core.editor设置如下:

git config --global core.editor notepad++

另外,您可以为Notepad ++添加一些其他参数:

git config --global core.editor "notepad++.exe -multiInst"

(正如我在“Git core.editor for Windows”中所详述的)

在这里,您可以找到在说明Notepad ++ Command Line Options时可能会使用的一些选项。

答案 6 :(得分:1)

更新2015

如果您将Notepad ++解压缩/安装到c:\utils\npp\并将notepad ++。exe重命名为npp.exe以简化,那么您只需要做的就是

git config --global core.editor c:/utils/npp/npp.exe

没有包装脚本或其他技巧。无需在PATH中使用Notepad ++。

答案 7 :(得分:1)

我正在使用Windows 10和notepad ++,并且收到此错误消息:

line 0: syntax error near unexpected token `(' git windows

所以我以这种方式进行设置:

git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'

它有效

答案 8 :(得分:0)

以下是Cygwin的解决方案:

#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
  1. 如果没有路径,则不传递路径

  2. 如果路径为空,请传递空路径

  3. 如果路径不为空,请转换为Windows格式。

  4. 然后我设置这些变量:

    export EDITOR=notepad2.sh
    export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
    
    1. EDITOR允许脚本使用Git

    2. GIT_EDITOR允许脚本使用Hub commands

    3. Source

答案 9 :(得分:0)

按照这些说明进行操作

  1. 首先确保您的系统上安装了notepad++,并且它是打开.txt文件的默认程序。

  2. 然后在您的系统上安装gitpad。请注意,上次检查下载链接已损坏,请将其从here下载为explained

  3. 然后,在提交时,您应该会看到自己喜欢的文本编辑器弹出。

答案 10 :(得分:0)

我使用了starikovs'解。我从一个bash窗口开始并发出了命令

cd ~
touch .bashrc

然后我在Windows资源管理器中找到.bashrc文件,用记事本++打开它并添加

PATH=$PATH:"C:\Program Files (x86)\Notepad++"

这样bash知道在哪里找到Notepad ++。 (在bash PATH中使用Notepad ++本身就很有用!)然后我粘贴了他的行

git config --global core.editor "notepad++.exe -multiInst"

进入bash窗口。我为git存储库启动了一个新的bash窗口,用命令

测试
git rebase -i HEAD~10

并按照希望在Notepad ++中打开文件。