Come disinserire set -o vi?


26

Volevo provare la modalità vi in ​​bash ma ora vorrei riportarla alla normalità.

Come posso annullare l'impostazione -o vi?

Risposte:


30

Le uniche due interfacce di modifica della linea attualmente disponibili bashsono vimode e emacsmode, quindi tutto ciò che devi fare è impostare emacsnuovamente la modalità.

set -o emacs

Va notato che sono stato io a leggere tra le righe anziché rispondere direttamente alla domanda. emacsè la modalità di modifica della linea predefinita in bash. L'impostazione della emacsmodalità disabilita la vimodalità come effetto collaterale, ma come indicato da jlliagre di seguito, puoi effettivamente disabilitarli entrambi.
Chris Down, il

25

Dipende da ciò che definisci "normale". Se questo sta disattivando la modifica della linea, -o viè necessario impostare il modo documentato per annullare l'impostazione+o vi

$ set -o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              on
$ set +o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              off

Chris ha già risposto se la tua modalità normale è emacs.


la disattivazione delle modalità toglie anche la funzionalità cronologia shell, ora non posso usare i tasti freccia su / giù per vedere la cronologia dei comandi :(
rsjethani

2
Non toglie la funzionalità di cronologia della shell. Puoi comunque visualizzare la cronologia con il historycomando ed eseguire i comandi precedenti prefissandone il numero con il !carattere.
jlliagre,

sì I comandi 'history' n family funzionano ancora, ma i tasti freccia su / giù che utilizzo più frequentemente non funzionano. Non appena accendo una delle modalità sui tasti, inizio a funzionare ... Non capisco?
rsjethani,

3
Le frecce su / giù sono gestite dalla shell solo se la modifica della linea è abilitata (ovvero è impostata una delle modalità emacs o vi). Altrimenti, i tasti freccia inviano semplicemente la loro sequenza di escape non elaborata.
jlliagre,
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.