Wie bearbeite ich den aktuellen Shell-Befehl im VI?

31

Ich habe in Blogs auf Linux-Rechnern gesehen, dass Sie den aktuellen Bash-Shell-Befehl in VI (oder wie auch immer der Editor eingestellt ist) bearbeiten können, indem Sie Strg-x, Strg-e drücken.

Dies scheint in 10.8 nicht zu funktionieren. Ideen zum Bearbeiten des aktuellen Bash-Befehls im Standardeditor?

Scott Walter
quelle
Dies sollte in 10.8 funktionieren (zumindest für mich). Haben Sie versucht, FCEDIT und EDITOR zu deaktivieren?
Nohillside
Die Dokumentation für C-xC-e ist hier - was ist in Ihrer VISUALVariablen?
Glenn Jackman
es geht nicht um 10.8. Ich bin auf 10.8 und es funktioniert gut mit mir. Ich habe nichts in meinem .bash_profil geändert, um dies zu ermöglichen.
Vincent
1
Hinweis: Diese Apple.SE-Frage entspricht im Wesentlichen der Super User-Frage "Ich verwende Bash im 'vi-Modus'. Wie
Unvergesslicher
1
Mir ist gerade aufgefallen, dass ich Strg + (x, e) gemacht habe (Strg gedrückt halten, x drücken, e drücken, Kontrolle loslassen) - aus diesem Grund hat es bei mir nicht funktioniert. Als ich zum Drücken von zwei klaren Strichen (Strg + X) überging, ließ ich Strg + E los - dann fing alles an, perfekt zu funktionieren!
Dimitry K

Antworten:

32

Sie möchten set -o vi(fügen Sie es zu Ihrem ~/.bashrc). Um die aktuelle Zeile zu bearbeiten, drücken Sie einfach, Escum in den Befehlsmodus zu wechseln.

Siehe http://www.gnu.org/software/bash/manual/bashref.html#Readline-vi-Mode

Um den aktuellen Befehl in einem Vollbild-Editor zu bearbeiten, setzen Sie Ihre VISUALUmgebungsvariable auf vim(ich gehe davon aus, dass Sie möchten vim), und drücken Sie dann im Befehlsmodus im aktuellen Kommentar v.

Glenn Jackman
quelle
5
Das Drücken des "V" war die geheime Soße, die mir fehlte. Vielen Dank.
Scott Walter
2
Ist es möglich, diesen vBefehl im Emacs-Modus (non-vi) abzurufen?
Alex Kahn
10
Führen Sie einfach Strg-X und dann Strg-E aus.
Albapa
7

Sie sind edit-and-execute-commandmöglicherweise nicht an den viModus gebunden . Versuchen:

bind -m vi-insert '"\C-x\C-e": edit-and-execute-command'

Um es dauerhaft zu machen, fügen Sie diese Zeile zu Ihrer ~/.inputrcDatei hinzu.

(über diese Antwort ; Dank an @unforgettableid für den Link)

Eintopf
quelle