web-dev-qa-db-ja.com

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

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

結果:Could not execute editor

core.editorグローバルでの設定.gitconfigviです(非常に必死な動きでvimに変更しました)。 mateを使用してみましたが、初期リストが適切に開かれなかったため、元に戻しました。

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

153
Rob Wilkerson

昨日はその日のほんの1日でした。ひばりで、フルパスをviに設定することにしました(例:/usr/bin/vi)単なる実行可能ファイルではなく。これですべてが機能します。 viはそれ自体で完全に実行可能であるため(私は$EDITOR env変数もvi)に設定されていますが、機能しており、私の技術的なカルマは最近それほど素晴らしいものではないので、神に疑問を呈すべきではありません...

183
Rob Wilkerson

次のコマンド

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

それを修正します。

[編集]

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

155

ここまでの他の回答とは異なり、viの絶対パスを使用してgit core.editor configを設定するだけでは、問題を解決するには不十分でした。 (これらは既に配置されていました。)

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

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

この-fオプションが設定されたら、git rebase -iを使用できます。コミットリストを保存して終了すると、「エディターを実行できませんでした」エラーを表示する代わりにリベースが必要に応じて進行します。

vim man page は、オプション-fに関して述べています。

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

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

7
LarsH

この問題が発生したのは、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を実行して終了コードを出力できました。

5

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

3
Clay Bridges

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

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

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

(具体的には、 https://github.com/ervandew/supertab

それはすべてのプラグインを自動的に更新することのマイナス面だと思います。

したがって、vimrcとプラグインの半分を無効にしてください。それでも解決しない場合、問題は他の半分にあります。

1
ignu

ここに示されているように、コミットを潰そうとしました 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

1
MasterJoe2

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

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

それを修正します。

1
techkuz

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

0
mmrobins

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

0
Flov

私にとっては、Windowsを使用して:現在の端末を閉じて、別の端末を開きます(win + R、「cmd」、次に「enter」を入力)、それは突然動作します。

0
miao.wang

VSコードソリューション:

git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"

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

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

0
Eben Geer