Was macht STRG + V in vim?

12

insertWenn ich im Modus in vim STRG + V drücke, werde ich in das geworfen, was als bekannt ist, x mode (^[,^D...)und wenn ich eine Taste drücke (z. B. die Escape-Taste), lande ich bei ^[oder etwas anderem, das mit beginnt ^. In meinem Editor wird es auch grün.

Was ist das und wofür wird es verwendet?

leeand00
quelle
Bist du sicher, dass das Vim ist? Ctrl+V(ohne Verschiebung) hat diese Bedeutung in mehreren Terminalemulatoren. Sagen Sie uns vielleicht, welches Terminal Sie verwenden.
Gro♀
@gro♀ Es ist vim in Ubuntu 16.04
leeand00

Antworten:

15

Von :h i_CTRL-V( i_zeigt den Einfügemodus an):

                                                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.

Wenn Sie dies tun ^v Esc, geben Sie das EscZeichen buchstäblich in den Text ein - Vim wird nicht das tun, was es normalerweise tut. Das EscZeichen wird normalerweise als ^[das ^Wesen dargestellt Ctrl, und durch Drücken Ctrl[erhalten Sie normalerweise das Äquivalent zum Drücken Esc.

Die Ubuntu ASCII-Manpage ist nützlich für die Visualisierung des Mappings:

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    [

Das hat Shiftin diesem Fall keine Auswirkung, Vim sieht das gleiche wie beim Drücken CtrlV. Versuchen Sie CtrlVCtrlVund CtrlVCtrlShiftV.

muru
quelle