エディターを実行できませんでした


153

多くの場合、複数のコミットメッセージを変更する必要はありませんが、1回または2回発生し、これを目にしたことを覚えていません。他の誰かが持っていることを願っています。Iのときgit rebase -i HEAD~7、期待どおりのリストが期待どおりにviで開きます。pick値をedit適切な場所に変更してから、にします:wq

エディターを実行できませんでした

core.editor私のグローバルの設定.gitconfigvi(私もそれをvim大胆に必死の動きに変更しました)です。を使ってみましたがmate、それでも最初のリストが正しく開かなかったため、元に戻しました。

私はv1.7.3を使用しており、どんな提案も歓迎します。


1
ソースにはが含まれgit_editor "$TODO" || die_abort "Could not execute editor"ます。エディターが実際に表示されると言ったので、それはゼロ以外の終了コードを返すことを意味します。コマンドラインで通常使用してその動作を再現できますか?
Cascabel 2010年

奇妙なのは、viが起動してコミットのリストを表示することですが、保存して閉じると、すべてが停止します。魔法のように機能し始めるように加えた変更については、私の回答を参照してください。
Rob Wilkerson、2010年

どのOSを実行していましたか?OSX Lionの実行でも同じ問題があり、あなたの答えがそれを修正しました。+1
アダムルイス

@AdamLewis-今はよくわかりませんが、日付を考えるとおそらく10.6または.7です。もちろん、OSX。
Rob Wilkerson 2013年

5
Homebrewを使用して新しいvimをインストールしたときに、この問題が発生したと思います。設定git config --global core.editor "/usr/local/bin/vim"は私のためにそれを修正しました。
mmell 2014年

回答:


185

昨日はその日のうちのほんの1日でした。ひばりでは/usr/bin/vi、実行可能ファイルだけでなく、vi(たとえば)へのフルパスを設定することにしました。これですべてが機能します。viそれ自体で完全に実行可能であるため($EDITOR環境変数もに設定されているためvi)、それを取得できないことを認めなければなりませんが、それは機能しており、私の技術的カルマは最近あまりよくないので、質問しない方がいいでしょう神々は...


6
/ usr / bin / viへのフルパスをどこに設定しましたか?
アマラ2011

131
私はそれを私のグローバル設定ファイルに入れました:git config --global core.editor "/usr/bin/vim"
Rob Wilkerson、2011

同じ問題がありました。理解できない理由により、私のcore.editor設定は/ usr / bin / vimではなく/ user / bin / vimに設定されました
jonnybot

同じ問題がありましたが、Sublime Textを使用しました-完全なパスでようやく解決しました とにかくすべてがうまくいくと確信しているので、これは奇妙でした...:-\
Hal

git config --global color.editor "/usr/local/bin/vim":)、ありがとう
przbadu

159

次のコマンド

git config --global core.editor /usr/bin/vim

それを修正します。

[編集]

今、誰かがすでにコメントでそれを投稿しているのがわかります。それが私のような一部の盲目の人々にとってなお役に立つことを願っています。


6
たとえばWindowsの場合(単一引用符がない、私の問題でした):git config --global core.editor "'C:\ Program Files(x86)\ Vim \ vim74 \ vim.exe'"
chrjs

1
はい、これです。これを明確にするには、実行可能ファイルへのパスを一重引用符で囲む二重引用符を使用します。
ジェイコブ

魅力的な作品!
R11G 2018

7

これまでの他の回答とは異なり、私はviへの絶対パスを使用し、git core.editorconfig を設定するだけでは問題を解決できませんでした。(それらはすでに配置されていました。)

私の状況では、viコマンドにフラグ追加することで-f問題が解決しました

git config --global core.editor '/usr/bin/vi -f'

この-fオプションを設定したら、を使用できますgit rebase -i。コミットリストを保存して終了すると、「エディタを実行できませんでした」エラーではなく、リベースが正常に実行されます。

Vimのmanページには、オプションに関して言います-f

GUIバージョンの場合、Vimはフォークせず、起動されたシェルからデタッチしません。...このオプションは、Vimが編集セッションの終了を待つプログラム(メールなど)によって実行されるときに使用する必要があります。

私が知っているGUIバージョンは使用していません。gitmasOS Sierra 10.12.6のターミナルウィンドウのbashコマンドラインで実行しています。しかしgit rebase -i、編集セッションが終了するのを待つので、-fここでオプションが必要なのはそのためだと思います。たぶんvim(なし-f)は、何らかの理由で私が理解できなかったためにシェルからfork / detachしようとします。


6

私にはこの問題があり、vimのvcscommandプラグインの一部が原因でした。これらのコマンドのいずれかでvimを起動すると、終了コード1(「エラー」)が発生しました。

  • vi
  • vim

しかし、これらは私に終了コード0(「成功」)を与えました:

  • /usr/bin/vi
  • /usr/bin/vim
  • vi -u NONE
  • vim -u NONE

~/.vimrcファイルを無効にしてファイルを~/.vim名前変更し、実行vi -c q ; echo $?してvimをすばやく実行し、終了コードを出力することで、特定のプラグインまでたどることができました。


1
同じ問題があり、vimへのフルパスを設定するとうまくいきました:git config --global core.editor / usr / bin / vim
James

別の原因として、Mac OS Xの病原体プラグインが考えられます。
sschuberth 2013年

3

私にとっては、.vimrcの問題でした。そのファイルの名前を一時的に変更して修正しました。続いて、私の.vimrcをデバッグします。これはイグヌの経験とよく似ています。


ええ、.vimrcに!silent colorscheme macvimがあり、colorchemeが存在する場合はそれに設定し、存在しない場合はバグを発生させません(したがって、コマンドラインvimが機能します)。一方、失敗した場合は、silent!でも終了ステータスが1に変更されました。
最大

3

何らかの理由で崇高なものを使用したい場合は、グローバル構成ファイルで次のようなことを行うことができます。

 git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

1

私のプラグインの1つに問題を突き止めるのにしばらく時間がかかりました。

(具体的には、https://github.com/ervandew/supertabでした)

それは私のすべてのプラグインを自動的に更新することの欠点だと思います。

最善のアドバイスは、vimrcとプラグインの半分を無効にすることです。それでも問題が解決しない場合は、他の半分に問題があります。


スーパータブでも同じ問題があります。
ハリススキー2013年

どのようにしてスーパータブまで追跡しましたか?それは本当に役立つ情報でしょう。
ジャスティンフォース

1

別のオプションは、nanoエディターを使用することです。

$ whereis nano
$ git config --global core.editor path/to/nano

それを修正します。


1

こちらのhttps://www.youtube.com/watch?v=V5KrD7CmO4oに示すように、コミットを押し潰そうとしました。私のgitエディター(notepad ++)がリベースのステップで開きました。しかし、コミットメッセージの修正ステップで、「エディタを実行できませんでした」という問題が発生しました。gitエディターの設定が間違っていたため、また、Windowsシステムの標準以外の場所にnotepad ++をインストールしたために発生した可能性があります。つまり、「git config core.editor」が私にくれましたnotepad++ -multilnst- nosession

この問題を修正するには、次のような完全なパスを指定します。

git config --global core.editor "'C:\CustomFolder\NPP\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

参照:https : //www.youtube.com/watch?v=YLxdkcT6H4g


0

/ usr / bin / vimが1.7.3にあったことを確信していますか?1.7.3でのみサポートされているバックアッププラグインがインストールされていて、何らかの理由で/ usr / bin / vimが1.7.2に突然ダウングレードされたため、同じ問題が発生しました。おそらくXCodeのメジャーアップデートが原因です。 ..


0

別のターミナルでリベースするためにvimを開いていたときにも、この問題が発生しました。私はリベースを開始し、中断されました、そして戻ってきたとき、私は他の端末で最初からもう一度それを試しました、私が他の場所で同じリベースの真ん中にいることに気付かなかった。他のターミナルでvim rebaseセッションを終了するだけで問題なく動作しました。


0

奇妙なことに、もう一度試すだけでうまくいきました。

core.editorおよび$ EDITOR変数が設定されていません。


0

私にとって、ウィンドウを使用する:現在のターミナルを閉じて別のターミナルを開き(win + R、「cmd」、次に「enter」と入力)、突然動作します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.