Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[trucs&astuces] affichage du mode vi du bash (readline inputrc)

2 réponses
Avatar
Alexandre Hoïde
J'ai récemment découvert que GNU-readline -- le bidule pour la saisie
et l'édition des lignes de commandes du bash -- permet d'afficher le
mode (emacs / vi-insertion / vi-normal) en cours, à gauche de l'invite
de commande.

Pour ce faire, il faut ajouter, dans « ~/.inputrc » :
set show-mode-in-prompt on

Pour ceux qui utilisent le mode par défaut « emacs », c'est de la
pollution, mais pour les autres, c'est une indication fort utile qui
n'est (malheureusement) pas activée par le préalable :
set editing-mode vi

En outre, il est possible de changer les chaînes affichées par défaut
« (ins) / (cmd) » avec les variables « vi-cmd-mode-string » et
« vi-ins-mode-string ». Exemple (toujours dans « ~/.inputrc ») :
set vi-ins-mode-string "_"
set vi-cmd-mode-string "☰"

… selon votre fantaisie.

Petit bonus pour ceux qui préfèrent utiliser la séquence « jk » (ou
autre), au lieu de ESCAPE, pour revenir en mode normal :
$if mode=vi
set keymap vi-command
"i": vi-insertion-mode

set keymap vi-insert
"jk": vi-movement-mode
$endif

Puisse ce message, au hasard des fils qui pleuvent, améliorer
l'expérience de quelque vi-basheux -- que l'absence d'assuétude pour
la lecture des docs¹ consignerait à l'impéritie.

¹ https://manpages.debian.org/stretch/readline-common/readline.3readline.en.html

--
 ___________________
| $ post_tenebras ↲ | waouh!
| GNU        \ /    |    \
|          -- * --  |     o
| $ who ↲    / \    |_-- ~_|
| Alexandre Hoïde   |  _/| |
 -------------------

2 réponses

Avatar
pascatgm
On 03/07/2017 13:19, Alexandre Hoïde wrote:
J'ai récemment découvert que GNU-readline -- le bidule pour la saisie
et l'édition des lignes de commandes du bash -- permet d'afficher le
mode (emacs / vi-insertion / vi-normal) en cours, à gauche de l'invite
de commande.
Pour ce faire, il faut ajouter, dans « ~/.inputrc » :
set show-mode-in-prompt on
Pour ceux qui utilisent le mode par défaut « emacs », c'est de la
pollution, mais pour les autres, c'est une indication fort utile qui
n'est (malheureusement) pas activée par le préalable :
set editing-mode vi
En outre, il est possible de changer les chaînes affichées par défaut
« (ins) / (cmd) » avec les variables « vi-cmd-mode-string » et
« vi-ins-mode-string ». Exemple (toujours dans « ~/.inputrc ») :
set vi-ins-mode-string "_"
set vi-cmd-mode-string "☰"
… selon votre fantaisie.
Petit bonus pour ceux qui préfèrent utiliser la séquence « jk » (ou
autre), au lieu de ESCAPE, pour revenir en mode normal :
$if mode=vi
set keymap vi-command
"i": vi-insertion-mode
set keymap vi-insert
"jk": vi-movement-mode
$endif
Puisse ce message, au hasard des fils qui pleuvent, améliorer
l'expérience de quelque vi-basheux -- que l'absence d'assuétude pour
la lecture des docs¹ consignerait à l'impéritie.
¹ https://manpages.debian.org/stretch/readline-common/readline.3readline.en.html

Et pour ceux pour qui l'image parle plus que l'écrit...
L'excccccccccellent site du non moins remarquable Drew Neil auteur de
Practical Vim :
http://vimcasts.org/
P.
Avatar
Alexandre Hoïde
On Tue, Jul 04, 2017 at 02:46:49PM +0200, pascatgm wrote:
On 03/07/2017 13:19, Alexandre Hoïde wrote:
¹ https://manpages.debian.org/stretch/readline-common/readline.3readline.en.html
Et pour ceux pour qui l'image parle plus que l'écrit...
L'excccccccccellent site du non moins remarquable Drew Neil auteur de
Practical Vim :
http://vimcasts.org/

À ma connaissance, on n'y trouve pas de sujet relatif au sujet
original : le mode vi pour l'édition de la ligne de commande en Bash
(readline).
Mais je plussoie l'appréciation : excellent site, à consommer sans
modération.
--
 ___________________
| $ post_tenebras ↲ | waouh!
| GNU         /    |    
|          -- * --  |     o
| $ who ↲    /     |_-- ~_|
| Alexandre Hoïde   |  _/| |
 -------------------