Иногда бывает необходимо ввести специальный символ: код клавиши "ввод" или Escape, или Tab; код комбинации типа <C-^> или <C-A>, или еще что-нибудь.
Такая необходимость возникает, например, при использовании назначений (map и imap). Вот задействовали вы, например, табуляцию для чего-нибудь полезного, например, для автодополнения слов:
:imap <Tab> <C-N>
Но когда табуляция понадобится, ее все равно можно вставить, не отменяя привязку и не копируя откуда-то извне.
Для этого применяется комбинация ctrl+K, после чего надо один раз (иногда два) нажать спецклавишу или комбинацию.
Еще это требуется, например, в файле настроек вроде .vimrc. Чтобы навесить переключение языка, <C-^>, на что-нибудь более удобное (у меня это F3), вам потребуется вставить именно код этой комбинации (на экране он отразится как ^^, но это только видимость). Делается это через <C-K>. Вот что я набираю, редактируя .vimrc:
:imap <C-N> <C-K><C-^><C-^>
Выделенное жирным набрано как есть, с уголками и их содержимым, а остальное нажато: CTRL-K, затем CTRL-^ два раза. При этом появится на экране что-то вроде ^^, так изображается код <C-^>, который и переключает раскладку.
Особенно полезно это в командной строке, где можно, например, использовать символ конца строки в выражении замены (для поиска есть комбинация \n, а для команд можно использовать нотацию уголковых скобок <CR>). Здесь мы именно вставляем физический символ возврата каретки, или тот же ctrl+^.
Например, пишем s/\n\n/^M2 lines/. Вот эта штука, которая выглядит как ^M, вставлена так: <C-K><CR><CR>. То есть CTRL-K, потом два раза клавиша ввода. Команда заменит пустую строку на строчку "2 lines".
Еще раз: я нажал контрол-К, потом энтер два раза, и вставился код этой клавиши. Теперь при замене как будто клавиша будет нажиматься. А вот обозначение \n годится в выражении поиска, но не замены.
Давайте запутаемся окончательно: для символа конца строки есть три обозначения. Есть <CR>, это для команд вроде map. Есть \n для регулярных выражений, так его можно найти. Наконец, можно вставить код физически, о чем и эта заметка. В выражении замены это совершенно необходимо, другие два способы не работают.
Если вы не хотите записывать макрос, а хотите просто загрузить в регистр строку команд, то вам тоже придется вводить коды этим способом: ESC сам себя не нажмет!
Еще эта комбинация применяется для ввода диграфов: символы Юникода можно вставлять через пару обычных. <C-K>AB, где пара AB соответствует какому-нибудь символу. Формально спецсимвол сам себе диграф.
Например, 00 — ∞, M- — это тире, RT — √, 22 — ². Буква плюс звездочка применяется для греческих букв, буква плюс плюс — для иврита (если буква заглавная) и арабского (если строчная). Есть японские азбуки, псевдографика, математические символы, смайлики, масти и многое другое. См. команду :digraphs.