Ich muss nicht oft mehrere Festschreibungsnachrichten ändern, aber es ist ein- oder zweimal passiert und ich kann mich nicht erinnern, dies jemals gesehen zu haben. Ich hoffe jemand anderes hat. Wenn ich git rebase -i HEAD~7
, wird die erwartete Liste in vi genau wie erwartet geöffnet. Ich ändere die pick
Werte edit
gegebenenfalls auf und dann :wq
.
Editor konnte nicht ausgeführt werden
Die core.editor
Einstellung in meinem globalen .gitconfig
ist vi
(ich habe es auch vim
in einem wild verzweifelten Zug geändert ). Ich habe es versucht mate
, aber das hat die ursprüngliche Liste nicht richtig geöffnet, also habe ich sie wieder geändert.
Ich verwende v1.7.3 und würde mich über Vorschläge freuen.
git_editor "$TODO" || die_abort "Could not execute editor"
. Da Sie sagen, dass der Editor tatsächlich aufgerufen wird, bedeutet dies, dass er einen Exit-Code ungleich Null zurückgibt. Können Sie dieses Verhalten mithilfe der normalen Befehlszeile replizieren?git config --global core.editor "/usr/local/bin/vim"
es für mich behoben.Antworten:
Gestern war nur einer dieser Tage. Aus Spaß habe ich beschlossen, den vollständigen Pfad auf vi (z. B.
/usr/bin/vi
) und nicht nur auf die ausführbare Datei festzulegen. Jetzt funktioniert alles. Ich muss zugeben, dass ich es nicht verstehe, davi
es für sich genommen perfekt ausführbar ist (meine$EDITOR
env-Variable ist ebenfalls auf gesetztvi
), aber es funktioniert und mein technisches Karma war in letzter Zeit nicht so groß, also sollte ich vielleicht einfach nicht hinterfragen Die Gottheiten werden ...quelle
git config --global core.editor "/usr/bin/vim"
.git config --global color.editor "/usr/local/bin/vim"
hat für mich gearbeitet :), dankeDer folgende Befehl
behebt es.
[bearbeiten]
Jetzt sehe ich, dass jemand es bereits in den Kommentaren gepostet hat. Hoffe, es ist immer noch hilfreich für einige Blinde wie mich.
quelle
Anders als bei den anderen Antworten hier bisher, benutze ich den absoluten Pfad zu vi und setze den Git
core.editor
nicht ausreichend, Konfiguration festzulegen, um das Problem zu lösen. (Die waren bereits vorhanden.)In meiner Situation wurde das Problem durch Hinzufügen des
-f
Flags zum Befehl vi gelöst :Sobald diese
-f
Option vorhanden ist, kann ich verwendengit rebase -i
aktiviert . Wenn ich die Festschreibungsliste speichere und beende, wird die Rebase wie gewünscht fortgesetzt, anstatt den Fehler "Editor konnte nicht ausgeführt werden" anzuzeigen.Die vim-Manpage sagt in Bezug auf die Option
-f
:Nun, ich verwende keine mir bekannte GUI-Version. Ich verwende
git
die Bash-Befehlszeile in einem Terminalfenster unter masOS Sierra 10.12.6. Da jedochgit rebase -i
auf den Abschluss der Bearbeitungssitzung gewartet wird, ist die-f
Option hier vermutlich erforderlich. Vielleicht-f
versucht vim (ohne ) aus irgendeinem Grund, den ich nicht herausfinden konnte, sich von der Schale zu lösen.quelle
Ich hatte dieses Problem und es wurde durch einen Teil des vcscommand-Plugins für vim verursacht. Das Starten von vim mit einem dieser Befehle führte zu Exit-Code 1 ("Fehler"):
vi
vim
Aber diese gaben mir den Exit-Code 0 ("Erfolg"):
/usr/bin/vi
/usr/bin/vim
vi -u NONE
vim -u NONE
Ich konnte es bis zum spezifischen Plugin zurückverfolgen, indem ich es deaktivierte
~/.vimrc
und Dateien einfügte, indem ich~/.vim
sie umbenannte und ausführtevi -c q ; echo $?
, um vim schnell auszuführen und den Exit-Code zu drucken.quelle
Für mich war es ein Problem mit meiner .vimrc. Durch vorübergehendes Umbenennen dieser Datei wurde das Problem behoben. Anschließend debuggen Sie meine .vimrc. Dies ist sehr ähnlich zu Ignus Erfahrung.
quelle
Wenn Sie aus irgendeinem Grund sublime verwenden möchten, können Sie in Ihrer globalen Konfigurationsdatei Folgendes tun:
quelle
Ich habe nur eine Weile gebraucht, um mein Problem in einem meiner Plugins aufzuspüren.
(Insbesondere war es https://github.com/ervandew/supertab )
Ich denke, das ist der Nachteil bei der automatischen Aktualisierung aller meiner Plugins.
Deaktivieren Sie also die Hälfte Ihrer vimrc und Plugins. Wenn das nicht hilft, liegt das Problem bei Ihrer anderen Hälfte.
quelle
Eine andere Möglichkeit ist die Verwendung des
nano
Editors.$ whereis nano
$ git config --global core.editor path/to/nano
Behebt es.
quelle
Ich habe versucht, Commits wie hier gezeigt zu quetschen: https://www.youtube.com/watch?v=V5KrD7CmO4o . Mein Git-Editor (Notepad ++) wurde im Rebasing-Schritt geöffnet. Im Schritt "Commit-Nachricht ändern" wurde jedoch das Problem "Editor konnte nicht ausgeführt werden" angezeigt. Es ist wahrscheinlich passiert, weil die Einstellungen des Git-Editors falsch waren und weil ich Notepad ++ an einem nicht standardmäßigen Ort auf meinem Windows-System installiert habe. Das heißt, 'git config core.editor' hat mir gegeben
notepad++ -multilnst- nosession
.Geben Sie den vollständigen Pfad wie folgt an, um das Problem zu beheben:
Siehe: https://www.youtube.com/watch?v=YLxdkcT6H4g
quelle
Sind Sie sicher, dass / usr / bin / vim auf 1.7.3 war? Ich hatte das gleiche Problem, weil ich das Backup-Plugin installiert hatte, das nur in 1.7.3 unterstützt wird, und aus irgendeinem Grund / usr / bin / vim plötzlich auf 1.7.2 herabgestuft wurde, möglicherweise aufgrund eines größeren Updates von XCode. ..
quelle
Ich hatte dieses Problem auch, als ich bereits vim für eine Rebase in einem anderen Terminal geöffnet hatte. Ich hatte den Rebase gestartet, wurde unterbrochen, und als ich zurückkam, versuchte ich es im anderen Terminal erneut von Grund auf, ohne zu bemerken, dass ich mich anderswo mitten im selben Rebase befand. Das Beenden der vim-Rebase-Sitzung im anderen Terminal hat einwandfrei funktioniert.
quelle
Seltsamerweise funktionierte es für mich, es noch einmal zu versuchen.
Meine Variablen core.editor und $ EDITOR sind nicht festgelegt.
quelle
Für mich mit Windows: Schließen Sie das aktuelle Terminal und öffnen Sie ein anderes (win + R, geben Sie 'cmd', dann 'enter' ein), dann funktioniert es plötzlich.
quelle
VS-Code-Lösung:
git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"
quelle