Apa yang dilakukan CTRL + V dalam vim?


12

Dalam vim saat dalam insertmode, jika saya menekan CTRL + V saya dilemparkan ke dalam apa yang dikenal sebagai x mode (^[,^D...)dan ketika saya menekan tombol (misalnya tombol escape) saya berakhir dengan ^[atau sesuatu yang lain yang dimulai dengan ^. Itu juga berubah hijau di editor saya.

Untuk apa ini, dan untuk apa ini digunakan?


Apakah Anda yakin itu Vim? Ctrl+V(tanpa shift) memiliki arti di beberapa emulator terminal. Mungkin beri tahu kami terminal apa yang Anda gunakan.
grochmal

@ grochmal Ini vim di Ubuntu 16.04
leeand00

Jawaban:


15

Dari :h i_CTRL-V( i_mode penyisipan yang ditunjukkan):

                                                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.

Jadi, ketika Anda melakukannya ^v Esc, Anda benar-benar memasukkan Esckarakter ke dalam teks - Vim tidak akan melakukan apa pun yang biasanya dilakukan. The Esckarakter biasanya direpresentasikan sebagai ^[, yang ^makhluk Ctrl, dan menekan Ctrl[biasanya akan membuat Anda setara dengan menekan Esc.

The Ubuntu ASCII manualnya berguna dalam memvisualisasikan pemetaan:

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    [

Dalam Shifthal ini tidak memiliki efek, Vim melihat hal yang sama seperti saat menekan CtrlV. Coba CtrlVCtrlVdan CtrlVCtrlShiftV.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.