Dans vim tandis que dans insert
mode, si j'appuie sur CTRL+V je suis projeté dans ce qu'on appelle le mode x mode (^[,^D...)
et quand j'appuie sur une touche (la touche d'échappement par exemple) je me retrouve avec ^[
ou quelque chose d'autre qui commence par ^
. Il devient également vert dans mon éditeur.
Qu'est-ce que c'est et à quoi ça sert ?
Réponse acceptée :
Depuis :h i_CTRL-V
(le i_
indique le mode d'insertion) :
i_CTRL-V
CTRL-V Insert next non-digit literally. For special keys, the
terminal code is inserted. It's also possible to enter the
decimal, octal or hexadecimal value of a character
i_CTRL-V_digit.
The characters typed right after CTRL-V are not considered for
mapping. {Vi: no decimal byte entry}
Note: When CTRL-V is mapped (e.g., to paste text) you can
often use CTRL-Q instead i_CTRL-Q.
Ainsi, lorsque vous faites ^v Esc
, vous entrez littéralement le Esc caractère dans le texte - Vim ne fera pas ce qu'il fait habituellement. Le Échap caractère est généralement représenté par ^[
, le ^
étant Ctrl , et en appuyant sur Ctrl [ vous obtiendrez généralement l'équivalent d'appuyer sur Échap .
La page de manuel Ubuntu ASCII est utile pour visualiser le mappage :
010 8 08 BS 'b' (backspace) 110 72 48 H
011 9 09 HT 't' (horizontal tab) 111 73 49 I
012 10 0A LF 'n' (new line) 112 74 4A J
013 11 0B VT 'v' (vertical tab) 113 75 4B K
014 12 0C FF 'f' (form feed) 114 76 4C L
015 13 0D CR 'r' (carriage ret) 115 77 4D M
...
033 27 1B ESC (escape) 133 91 5B [
Le changement dans ce cas n'a aucun effet, Vim voit la même chose qu'en appuyant sur Ctrl V . Essayez Ctrl V Ctrl V et Ctrl V Ctrl Maj V .