CTRL + Vはvimで何をしますか?


12

insertモード中のvimで、CTRL + Vをx mode (^[,^D...)押すと、いわゆるキーにエスケープされ、キー(たとえば、エスケープキー)を押すと、で終わる^[か、で始まる他の何かになります^。また、エディターで緑色に変わります。

これは何ですか、何に使用されますか?


Vimでよろしいですか? Ctrl+V(シフトなし)は、いくつかのターミナルエミュレータでその意味を持っています。おそらく、あなたが使用している端末を教えてください。
2017年

@grochmal Ubuntu 16.04のvimです
leeand00

回答:


15

から:h i_CTRL-Vi_は挿入モードを示します):

                                                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.

したがって、を実行^v Escすると、Esc文字を文字どおりテキストに入力していることになります-Vimは通常行うことを何も行いません。Esc文字は通常のように表され^[^ビーイングCtrl、そして押すとCtrl[、通常はあなたに押すと同等のものを取得しますEsc

UbuntuのASCIIのmanページには、マッピングを可視化する際に有用です:

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    [

Shiftこのケースでは、Vimは押したときと同じものを見て、何の効果もありませんCtrlV。試してみてくださいCtrlVCtrlVCtrlVCtrlShiftV

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.