In vim mentre in insert
mode, se premo CTRL+V vengo catapultato in quella che è nota come x mode (^[,^D...)
e quando premo un tasto (il tasto di escape per esempio) finisco con ^[
o qualcos'altro che inizia con ^
. Diventa verde anche nel mio editor.
Che cos'è e a cosa serve?
Risposta accettata:
Da :h i_CTRL-V
(il 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 esegui ^v Esc
, stai letteralmente entrando in Esc carattere nel testo – Vim non farà quello che fa di solito. Esc il carattere è solitamente rappresentato come ^[
, il ^
essendo Ctrl e premendo Ctrl [ di solito ti darà 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 Shift in questo caso non ha effetto, Vim vede la stessa cosa di quando si preme Ctrl V . Prova Ctrl V Ctrl V e Ctrl V Ctrl Maiuscole V .