Cosa è "<Esc> Kv" in bash


13

Quando sono in bash e premere Esc, Shift+ K, V, bash spara su $EDITORcon un nome simile a /tmp/bash-fc-186566385.

Perché è quello e qual è il suo scopo?

Probabilmente devo menzionare che sto correndo con Bash set -o vi.

Risposte:


10

Ciò consente di costruire un comando con la modifica completa di Vi. Se si digitano alcuni comandi e si salva exit, :wqi comandi verranno eseguiti.

CHIARIMENTO: ti permette di costruire il comando in qualunque editor tu abbia impostato $EDITORe quando salvi e chiudi da esso il contenuto verrà eseguito. (Chiarito che non è solo Vi!)

Inoltre , come notato da RealSkeptic , la combinazione shift+ Knon è richiesta per visualizzare l'editor. Semplicemente esc, Vlo farà.


Si noti che alcune tastiere hanno un tasto etichettato v. Premendo il tasto (o i tasti migliori) per ottenere Kè normalmente contrassegnato come <kbd>Shift</kbd>+<kbd>K</kbd>e premendo il tasto per ottenere (minuscolo) vcome<kbd>V</kbd>
Anthon

No, ma la tua modifica al post dei PO ha avuto errori.
Anthon,

2
La modalità editor non è raggiungibile semplicemente con escape-V? Il "shift-K" sembra essere solo voodoo.
RealSkeptic,

@RealSkeptic hai ragione, buone informazioni supplementari
forquare

3
Anche Ctrl-x + e (se non sei in modalità vi)
Iacco

12

Non hai bisogno di Shift+ k. L'uso di Esc+ vfunzionerà poiché si consente la modifica della riga di comando della shell utilizzando l'editor vi integrato utilizzando set -o vi(lo stesso può essere raggiunto con Ctrl+ x+ e). Ciò equivale a eseguire il fccomando incorporato, utile per manipolare l'elenco cronologico e il file cronologico. Richiamerà qualunque editor sia impostato nel tuo $EDITOR(altrimenti, l'editor predefinito della tua shell) per scrivere un comando lungo, complicato o complesso e quindi eseguirli dopo aver salvato e chiuso l'editor. Vedi qui per i dettagli sul fccomando: builtin cronologia Bash .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.