私はWindowsの下のCygwin64内で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ウィンドウを強制終了する必要があります。
'git commit'にvimを使用するにはどうすればよいですか?
これはminttyが原因である可能性があります。 この問題 を参照してください。
修正する方法は2つあります。
Minttyの代わりにbash.exeを使用します。
Cygwinのショートカットを右クリックし、C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -
からC:\cygwin64\bin\bash.exe --login -i
に変更します。
正しいvimパスをgitconfigに追加します。
git config --global core.editor "C:/cygwin64/bin/vim.exe"
.gitconfig
は認識できないため、パスでcygdrive
を使用しないでください。また、32ビットvimを使用している場合、パスはC:/cygwin/bin/
である必要があります。
Git for Windows(msysgit)またはVim forWindowsがインストールされている可能性があります。箱から出して、それらはCygwin64と互換性がありません-それらのインストールを無視するようにCygwinのパスを構成する必要があります。
より簡単なオプションは、これらのアイテムの両方をアンインストールして、Cygwinバージョンを使用することです。
何らかの理由でそれらを保持する必要がある場合は、$PATH
変数を.bash_profile
にオーバーライドとして設定します。 msysgitパスとwindowsvimパスを除いた既存の$ PATHを使用します。 bashスクリプトに興味がある場合は、次のことを試して、bashを使用するときにパスを削除し、特定の状況に合わせて変更することができます。
msysgit='/cygdrive/c/Program Files/git:'
PATH="${msysgit//$PATH/}"
msysvim='/cygdrive/c/Program Files (x86)/vim/vim74:'
PATH="${mysysvim//$PATH/}"
幸運を!
CYGWINバージョンのGITではなく、WindowsバージョンのGITがインストールされています。 GITには、デフォルトで、独自のバージョンのVIを含むUNIXツールのフルセットが付属しています。残念ながら、そのバージョンのVIはCYGWINでNiceを再生しません。これを回避する最善の方法は、CYGWINにGITをインストールして、VIまたはVIMのCYGWINバージョンを使用するようにすることです。
私はこれと同じ問題に直面しました。 @ CYB.tachyonと@DavidBeckmanの両方が、vimidが壊れている理由を説明しました。しかし、何かをアンインストールするのではなく、DOSスタイルのコマンドプロンプトからgitコマンドを実行すると、すべてがスムーズに進みました。最終的には、vimのさまざまなフレーバーをクリーンアップすることが私の究極の解決策になると思いますが、仕事を続けたいだけなら、これが当面の問題に対する最も迅速な解決策でした。