Cosa fa CTRL + V in vim?


12

In vim mentre in insertmodalità, se premo CTRL + V vengo gettato in ciò che è noto come x mode (^[,^D...)e quando premo un tasto (il tasto Esc ad esempio) finisco con ^[o qualcos'altro che inizia con ^. Inoltre diventa verde nel mio editor.

Che cos'è e a cosa serve?


Sei sicuro che sia Vim? Ctrl+V(senza spostamento) ha questo significato in diversi emulatori terminali. Forse dicci quale terminale stai usando.
grochmal

@grochmal È vim in Ubuntu 16.04
leeand00

Risposte:


15

Da :h i_CTRL-V( i_indica la modalità di inserimento):

                                                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.

Quindi, quando lo fai ^v Esc, stai letteralmente inserendo il Escpersonaggio nel testo - Vim non farà ciò che fa di solito. Il Escpersonaggio è di solito rappresentato come ^[, l' ^essere Ctrl, e premendo di Ctrl[solito otterrai l'equivalente di premere Esc.

La manpage ASCII di Ubuntu è utile per visualizzare la mappatura:

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    [

Il Shiftin questo caso non ha alcun effetto, Vim vede la stessa cosa di quando si preme CtrlV. Prova CtrlVCtrlVe CtrlVCtrlShiftV.

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.