Was ist "<Esc> Kv" in Bash


13

Wenn ich mich in der Bash-Funktion befinde und + , drücke Esc, wird die Bash-Funktion mit einem Dateinamen ausgelöst, der dem ähnlich ist .ShiftKV$EDITOR/tmp/bash-fc-186566385

Warum ist das so und wozu dient es?

Ich muss wahrscheinlich erwähnen, dass ich mit Bash renne set -o vi.

Antworten:


10

Auf diese Weise können Sie einen Befehl mit vollständiger Vi-Bearbeitung erstellen. Wenn Sie einige Befehle eingeben und speichern, werden :wqdie Befehle ausgeführt.

ERLÄUTERUNG: Sie können den Befehl in jedem Editor erstellen, den Sie eingestellt haben, $EDITORund wenn Sie ihn speichern und beenden, wird der Inhalt ausgeführt. (Klargestellt, dass es nicht nur Vi ist!)

AUCH, wie von RealSkeptic bemerkt , ist die shift+ K-Kombination nicht erforderlich, um den Editor aufzurufen . Einfach esc, Vwerden.


Bitte beachten Sie, dass einige Tastaturen eine beschriftete Taste haben v. Das Drücken der Taste (oder besserer Tasten) zum Abrufen Kist normalerweise als markiert, <kbd>Shift</kbd>+<kbd>K</kbd>und das Drücken der Taste zum v<kbd>V</kbd>
Anthon

Nein, aber Ihre Bearbeitung für den OPs-Beitrag hatte falsche.
Anthon

2
Ist der Editor-Modus nicht einfach mit Escape-V erreichbar? Das "Shift-K" scheint da nur Voodoo zu sein.
RealSkeptic

@ RealSkeptic Sie sind richtig, gute Zusatzinformationen
Forquare

3
Auch Strg-x + e (wenn Sie nicht im vi-Modus sind)
Iacchus

12

Du brauchst kein Shift+ k. Die Verwendung von Esc+ vfunktioniert, da Sie die Shell-Befehlszeilenbearbeitung mit dem integrierten vi-Editor set -o vierlauben (dies kann auch mit Ctrl+ x+ erreicht werden e). Dies entspricht der Ausführung des eingebauten fcBefehls, mit dem Sie die Verlaufsliste und die Verlaufsdatei bearbeiten können . Es ruft den Editor auf, der in Ihrem $EDITOR(ansonsten dem Standardeditor Ihrer Shell) festgelegt ist, um einen langen, kniffligen oder komplexen Befehl zu schreiben und ihn dann auszuführen, nachdem Sie den Editor gespeichert und geschlossen haben. Weitere Informationen zum fcBefehl finden Sie hier: Integrierte Bash-Historie .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.