Pull to refresh

Vim magic — Ввод символов, которых нет на клавиатуре

Reading time2 min
Views6.1K
Сегодня мы научимся набирать в Vim загадочные и просто редко- (а кем-то часто-)используемые символы, такие как ½, ?, £, ©, ®, ™, «, » и т.д. Особенно полезно это людям, связанным с типографикой, но не только.

Для набора этих замечательных вещей есть много способов, некоторые из них уже были описаны на Хабре. Способы эти сводятся либо к установке специального ПО, либо к созданию собственной раскладки клавиатуры. Ещё можно (во всяком случае, под Windows) запоминать магические комбинации и набирать символы с помощью Alt+цифры_на_цифровой_клавиатуре_если_она_есть.

Для того чтобы набирать эти символы в Vim, тоже нужно запоминать магические комбинации. Различие только в том, что комбинации эти состоят из двух символов и обычно легко запоминаются с помощью мнемоник.

Заклинание 1. Диграф.
Для того чтобы использовать это заклинание, ваш Vim должен быть скомпилирован с фичей +digraph. Проверить наличие этой фичи можно набрав :version и поискав её в списке фич.

Кастуется заклинание вот так: Ctrl+K {char1} {char2}. Например для того, чтобы набрать © нужно нажать Ctrl+KCo, для Ctrl+KTM, а для длинного тире () соответственно Ctrl+KM-. Большинство комбинаций подобраны так, чтобы легко запоминались. Вот ещё несколько примеров: » это Ctrl+K>>, ½ это Ctrl+K12, ± это Ctrl+K+-. Комбинации эти называются, как вы уже сообразили, диграфами. Их можно задавать самому с помощью команды :digraphs {char1} {char2} {number} — {char1} и {char2} это символы, которые вы будете набирать после Ctrl+K, a {number} это Unicode код символа. Но стандартный набор диграфов достаточно велик, так что врядли вам прийдется задавать свои диграфы, разве что для того, чтобы назначить символу комбинацию, более понятную вам, чем стандартная. Кстати диграфы можно набирать по-другому: {char1} Backspace {char2}. Но это работает только если у вас выставлена опция 'digraph' и не используется так называемый Input Method (если вы не знаете что это такое, он скорее всего не используется).

Список диграфов можно посмотреть, введя :digraphs без параметров. Список будет довольно обширный, поэтому имеет смысл вывести его в файл, следующим способом: :redir > filename | digraphs | redir END. Можно вместо файла отредиректить в регистр, например в "* вот так: redir @*> | digraphs | redir END и потом куда-нибудь вставить.

Заклинание 2.
Это похоже на ввод с помощью Alt+цифровая клавиатура, только вместо Alt нужно нажать Ctrl+V, а цифры можно набирать хоть справа хоть из верхнего ряда. Код в пределах 0 — 255 можно набирать в десятичном виде (не более 3х цифр), в восьмеричном (тоже не более 3х цифр, начинать надо с o или O), в шестнадцатиричном (2 цифры, начинать с x или X). Если символ хитрый (как раз наш случай), и код укладывается в 4 шестнадцатиричные цифры, то набирать нужно Ctrl+V u цифры (без пробелов), если четырёх цифр не хватает, то Ctrl+V U цифры. Например, для ввода © можно набрать Ctrl+Vu00a9, Ctrl+V169 или Ctrl+Vo251. Пользоваться этим заклинанием имеет смысл, если Vim собран без фичи +digraphs.

Happy Vimming!
Tags:
Hubs:
Total votes 1: ↑1 and ↓0+1
Comments13

Articles