在cygwin中调用git commit时vim不工作
我在windows下的Cygwin 64中使用git。默认编辑器vi和git使用默认编辑器。当我调用“git commit”时,在vim启动之前将提示以下消息:在cygwin中调用git commit时vim不工作,git,vim,cygwin,commit,vi,Git,Vim,Cygwin,Commit,Vi,我在windows下的Cygwin 64中使用git。默认编辑器vi和git使用默认编辑器。当我调用“git commit”时,在vim启动之前将提示以下消息: git commit Vim warning: output is not to a terminal Vim warning: input is not from a terminal 在此之后,vi将启动,但无法控制,'ESC',':'无法使用,我必须关闭cygwin窗口 如何使用vim进行“git提交”?您可能已经安装了git
git commit
Vim warning: output is not to a terminal
Vim warning: input is not from a terminal
在此之后,vi将启动,但无法控制,'ESC',':'无法使用,我必须关闭cygwin窗口
如何使用vim进行“git提交”?您可能已经安装了git for Windows(msysgit)或vim for Windows。它们与Cygwin64不兼容-您需要为Cygwin配置路径以忽略这些安装 更简单的选择是卸载这两个项目,只使用Cygwin版本 如果出于任何原因需要保留它们,请将
.bash\u配置文件中的$PATH
变量设置为覆盖。使用现有的$PATH,减去msysgit和windows vim路径。如果您对bash脚本感兴趣,可以尝试在使用bash时删除路径,并根据您的具体情况进行修改:
msysgit='/cygdrive/c/Program Files/git:'
PATH="${msysgit//$PATH/}"
msysvim='/cygdrive/c/Program Files (x86)/vim/vim74:'
PATH="${mysysvim//$PATH/}"
祝你好运 您安装的是windows版本的GIT,而不是CYGWIN版本的GIT。GIT默认附带一整套UNIX工具,包括它自己的VI版本。不幸的是,该版本的VI不能很好地与CYGWIN配合使用。最好的解决方法是在CYGWIN中安装GIT,以便使用CYGWIN版本的VI或VIM。我也遇到了同样的问题@CYB.tachyon和@David Beckman都解释了vim id断裂的原因;但是,我没有卸载任何东西,而是在DOS风格的命令提示符下运行git命令,一切都很顺利。我想——最终——清理各种风格的vim将是我的最终解决方案,但如果你只是想继续工作,这是解决眼前问题的最快方法。这可能是mintty造成的,请参阅
有两种修复方法:
使用bash.exe而不是mintty:
右键单击cygwin的快捷方式,将其从C:\cygwin64\bin\mintty.exe-i/cygwin-Terminal.ico-
更改为C:\cygwin64\bin\bash.exe--login-i
将正确的vim路径添加到git配置:
git config--global core.editor“C:/cygwin64/bin/vim.exe”
请注意,不要在路径中使用cygdrive
,因为.gitconfig
无法识别它。如果您使用的是32位vim,那么路径应该是C:/cygwin/bin/
安装Git for Windows时,必须从Git Bash Only中选择使用Git
如果在Windows命令提示符下选择Use Git
,将导致此问题
老实说,谁将从命令提示符使用git?;) 更改默认编辑器可能是一个很好的替代解决方案:git config core.editor notepad
您确定路径上没有其他VI吗?屏幕截图的最后一行很奇怪。D://..
如果您尝试:TERM=xterm git commit
@Acemad:我想使用vim或vi,而不是记事本。@matzeri:git commit后cygwin会话的行为不受监管。bash屏幕将不会从vim输出中清除,我必须终止会话。这对我来说是有效的,除了第二行(字符串替换)似乎不正确外,下面的行起了作用:PATH=“${PATH//$msysgit/}”
您还必须在系统中使用正确的git当前路径名,这对我来说是msysgit='/cygdrive/c/Program Files/Git/cmd:'
这不是解决方案,因为cygwin的Git有问题。德清提供了正确的解决方案。我确实遇到了这个问题,从Cygwin安装程序安装Git为我解决了这个问题。这个答案应该是公认的答案,因为它是解决问题的更简单的方法。这应该是最好的和公认的答案。到目前为止,第2点对我来说没有任何问题。(优点:能够继续使用mintty,并使用Windows本机安装的git二进制文件)最后!我花了太长时间才找到这个。工作完美。