Que fait CTRL + V dans vim?


12

Dans vim en insertmode, si j'appuie sur CTRL + V, je suis jeté dans ce que l'on appelle x mode (^[,^D...)et lorsque j'appuie sur une touche (la touche d'échappement par exemple) je me retrouve avec ^[ou quelque chose qui commence par ^. Il devient également vert dans mon éditeur.

Qu'est-ce que c'est et à quoi sert-il?


Êtes-vous sûr que c'est Vim? Ctrl+V(sans le décalage) a cette signification dans plusieurs émulateurs terminaux. Peut-être dites-nous quel terminal vous utilisez.
grochmal

@grochmal C'est vim dans Ubuntu 16.04
leeand00

Réponses:


15

De :h i_CTRL-V( 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 le faites ^v Esc, vous entrez littéralement le Esccaractère dans le texte - Vim ne fera pas ce qu'il fait habituellement. Le Escpersonnage est généralement représenté par ^[l' ^être Ctrlet le fait d'appuyer vous Ctrl[donnera généralement l'équivalent du fait d'appuyer Esc.

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    [

Dans Shiftce cas, cela n'a aucun effet, Vim voit la même chose que lorsque vous appuyez sur CtrlV. Essayez CtrlVCtrlVet CtrlVCtrlShiftV.

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.