我正在试用Windows上的Git。我到了尝试“git commit”的地步,我得到了这个错误:
终端是哑的,但没有视觉也
编辑器定义。请提供
消息使用-m或-F选项。
所以我发现我需要一个叫做EDITOR的环境变量。没有问题。我把它设置为指向记事本。这几乎奏效了。默认的提交消息在记事本中打开。但是记事本不支持换行。我出去得到了notepad++,但我不知道如何将notepad++设置为%EDITOR%,使其与Git正常工作。
我没有嫁给notepad++。在这一点上,我不介意我使用什么编辑器。我只是希望能够在编辑器中而不是在命令行中输入提交消息(使用-m)。
那些在Windows上使用Git的人:你使用什么工具来编辑你的提交消息,你必须做什么才能让它工作?
编辑:更新到Vim 7.3后,我得出的结论是,最干净和最简单的方法是:
添加Vim的主文件夹到你的路径(右键单击我的电脑→属性→高级→环境变量)
运行这个:
Git配置——全局核心。编辑器"gvim -nofork '%*'"
如果您这样做,那么我相当肯定它也会与Cygwin一起工作。
最初的回答:
即使有几个与vim相关的答案,我在Windows下的gVim上也遇到了麻烦(而不使用批处理文件或%EDITOR%或Cygwin)。
我最终得到的是漂亮而干净的,并借鉴了以下几个解决方案:
git config --global core.editor \
"'C:/Program Files/Vim/vim72/gvim.exe' --nofork '%*'"
我花了一点时间才发现,这些不是windows风格的反斜杠。它们是正常的正斜杠。
这是更严重问题的一个症状。值得注意的是,你有一些设置TERM=dumb。其他不能正常工作的是less命令,它表示您没有一个功能齐全的终端。
这似乎最常见的原因是将TERM设置为全局Windows环境变量中的某个值。对我来说,当我安装草莓Perl时出现了这个问题,关于这个问题的一些信息是关于msysgit bug以及几个解决方案的。
第一个解决方案是在您的~/中修复它。Bashrc补充道:
export TERM=msys
你可以在Git Bash提示符中这样做:
echo "export TERM=msys" >> ~/.bashrc
另一个解决方案,最终是我所做的,因为我不关心Strawberry Perl在我的环境设置中添加TERM=dumb的原因,是按照msysgit错误报告的注释中的指示删除TERM=dumb。
控制
面板/系统/高级/环境
变量……(或类似,取决于
你的Windows版本)在哪里
设置Sticky环境变量
在Windows上。默认情况下,TERM不是
集。如果TERM设置在这里,那么你
(或者你有一个程序
已安装-例如草莓Perl)
设置它。删除那个设置,还有你
应该没问题。
类似地,如果您使用Strawberry Perl并且关心CPAN客户端或类似的东西,您可以不使用TERM=dumb,而在~/中使用未设置的TERM。Bashrc文件,它将具有类似于设置上面的显式术语的效果。
当然,所有其他解决方案都是正确的,因为你可以使用git config -global core。$MYFAVORITEEDITOR以确保Git在需要为你启动一个编辑器时使用你最喜欢的编辑器。