如何使用记事本++(或除VIM任何其他编辑器)与msysgit?
我尝试了所有的以下无济于事的:
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
更新2010-2011:
zumalifeguard的解决方案 (upvoted)比原来的简单,因为它不需要再一个壳包装脚本。
正如我在解释“ 我怎么能成立一个编辑器在Windows上使用Git的工作? ”, 我更喜欢的包装,因为它更容易尝试和切换编辑,或改变一个编辑器的路径,而无需注册说变化与git config
一次 。
但是,这只是我。
附加信息 :以下解决方案可以使用Cygwin,而zuamlifeguard的解决方案不。
原来的答案。
下列:
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 "$*"
确实工作。 这些命令被解释为shell脚本,因此这个想法包裹在一组命令的任何窗口sh
脚本。
(由于永邦 评论 :“切记妥善保存您.sh
文件使用Unix风格的行结束符或收到神秘的错误信息!”)
在SO问题的更多细节我怎么能成立一个编辑器在Windows上使用Git的工作?
注意“ -multiInst
”选项,确保记事本的新实例++从Git的每个呼叫。
还要注意的是,如果你在Cygwin上使用Git(并希望使用来自Cygwin的记事本+ + ),然后scphantm解释“ 用记事本+ +的内Cygwin的混帐 ”,你必须知道:
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 "$*")"
随着"$(cygpath -w "$*")"
是这里的重要组成部分。
瓦尔 评论 (然后删除),你不应该使用-notabbar
选项:
这是没有好重订期间禁用的标签,反而使得许多危害一般记事本的可用性,因为-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\...
”,),你有三种选择:
可尝试引用路径(单或双引号),如:
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%
环境变量。 你不必再指定脚本中的任何路径。
git config --global core.editor npp.sh
Steiny报告的意见不必做:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
或者,对于64位Windows和32位安装记事本++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
或者,以下可以在32位或64位的Windows在命令行上被发出。 这将拉动记事本+ +的位置,从注册表中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与%%乙
这对我的作品
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
作为混帐的Windows v2.15.0(2017年10月30日),它现在可以配置nano
或记事本++作为Git的默认编辑器,而不是vim
。
在安装过程中,你会看到如下界面:
我用PATH变量的方法。 路径记事本+ +添加到系统的PATH变量,然后core.editor设置类似如下:
git config --global core.editor notepad++
此外,您可以添加记事本++一些额外的参数:
git config --global core.editor "notepad++.exe -multiInst"
(正如我在详细的“ 混帐core.editor
的Windows ”)
在这里你可以找到一些说明记事本++时,你可以使用选项命令行选项 。
UPDATE 2015年
如果你解压/安装记事本++到c:\utils\npp\
并重命名记事本++ exe文件到npp.exe为简单起见,那么所有你需要做的就是。
git config --global core.editor c:/utils/npp/npp.exe
没有包装脚本或其他弄虚作假。 没有必要有记事本+ +的路径。
我使用的是Windows 10和记事本+ +,而我收到此错误信息:
line 0: syntax error near unexpected token `(' git windows
所以,我做这样的设置:
git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'
和它的作品
我用starikovs'的解决方案。 我开始与一个bash窗口,给了命令
cd ~
touch .bashrc
后来我发现在Windows资源管理器的.bashrc文件,用记事本打开++,并添加
PATH=$PATH:"C:\Program Files (x86)\Notepad++"
让庆典知道哪里可以找到记事本++。 (在bash的路径有记事本+ +是对自己有用的东西!)然后,我将他行
git config --global core.editor "notepad++.exe -multiInst"
成一个bash窗口。 我开始了一个新的bash窗口一个Git仓库用命令来测试的东西
git rebase -i HEAD~10
该文件在记事本打开++的希望。
这里是Cygwin的一个解决方案:
#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
如果没有路径,没有传递PATH
如果路径是空的,通过空路
如果路径不为空,则转换为Windows格式。
然后,我设置这些变量:
export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
编辑器允许脚本使用Git工作
GIT_EDITOR允许脚本一起工作中心命令
资源