Was ist die V-Taste im Bash-Vi-Modus?

7

Während set -o viich mit dem Bash-Vi-Modus ( ) experimentiert habe, habe ich versehentlich vim Normal- / Befehlsmodus gedrückt, dann wird mein Editor (vim) mit einer Datei namens gestartet bash-fc.XXXXXX. Was ist diese Datei? und warum öffnete es sich beim Drücken der vTaste?

Cevhyruz
quelle
2
Dadurch wird ein visueller Editor geöffnet, mit dem Sie den aktuellen Befehl bearbeiten können.
Archemar

Antworten:

9

Dies ist das gleiche wie Ctrl+X Ctrl+Eim Emacs-Befehlszeilen-Bearbeitungsmodus. Der von $VISUALoder $EDITOR(oder emacswenn die Umgebungsvariablen VISUALund nicht festgelegt EDITORsind) angegebene Editor wird aufgerufen, damit Sie den aktuellen Befehl in einer temporären Datei bearbeiten können. Speichern Sie die Datei und beenden Sie den Editor, um den Befehl auszuführen.

Aus dem bashHandbuch (das die Vi-Befehle nicht dokumentiert):

edit-and-execute-command( C-xC-e)

Rufen Sie einen Editor in der aktuellen Befehlszeile auf und führen Sie das Ergebnis als Shell-Befehle aus. Bash versucht aufzurufen $VISUAL, $EDITORund emacsals Herausgeber, in dieser Reihenfolge.

Kusalananda
quelle
Danke für die Information! so dass der vSchlüssel war nur der vi-Modus Keybinding für die fcbuiltin? Ich frage mich nur, da ich bereits vim hatte, um eine benutzerdefinierte Statuszeile für fc( FCEDIT= "$EDITOR -u ~/fcedit.vim") anzuzeigen, warum dies nicht funktioniert.
Cevhyruz
1
@cevhyruz Ich bin nicht 100% sicher, aber es gibt keinen Hinweis darauf fc, dass FCEDITbeim Auslösen dieser Readline-Bibliotheksfunktion aufgerufen oder verwendet wird.
Kusalananda