Configuration du mode Bash vi par défaut en mode commande


14

Est-il possible de configurer le mode bash vi de sorte qu'il soit initialement en mode commande plutôt qu'en mode insertion ? Je trouve que je dois appuyer Escbeaucoup trop. Il semble qu'il soit possible de le spécifier dans zsh, mais je n'ai pas trouvé de moyen de le faire dans bash / readline.

Réponses:


2

Je ne pense pas que ce soit possible en utilisant la bibliothèque GNU Readline standard .

Cependant, vous pourrez peut-être utiliser xdotool pour un simple hack pour obtenir le même effet. L'ajout d'une commande .bashrcsimulant une Escapepression sur une touche garantirait que votre terme s'ouvre en mode commande:

xdotool key Escape

Vous voudrez peut-être utiliser un léger retard, avec le --delaycommutateur, pour l'empêcher de munging votre invite ...

Notez que cela risque d'introduire plus de frustration que prévu: les terminaux sont conçus pour accepter des entrées; briser cela (bien que légèrement) peut ne pas prouver une si bonne idée ...


1

Je le reprends, cela ne fonctionne pas avec le mouvement du curseur. Cela fonctionne, mais avec le comportement drôle, si vous les retirez:PS1="$PS1 ^[


Modifiez votre PS1invite:

PS1="test $ \[^[[s^[^[[u\]"

^[est une fuite littérale ( Ctrl+ V Esc).

L'échappement seul au milieu passe en mode commande, ^[[set les ^[[uéchappements stockent et restaurent la position du curseur; sans cela, j'ai trouvé qu'il y avait un comportement drôle.


1

La réponse est non . Le fichier source bash correspondant estbashline.c


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.