Несколько орграфов в vim

Как вы, вероятно, знаете, в vim есть возможность вводить определенные символы с помощью орграфов (например, в режиме ввода Ctrl+K Rg производит ®).

Есть ли способ, чтобы определить горячую клавишу, чтобы войти в режим, который позволяет мне вводить несколько орграфов? Например, написать "sayonara" вместо "Ctrl + K sa Ctrl + K yo Ctrl + K na Ctrl + K ra", чтобы получить "さよなら".

1 ответ

Решение

Не то чтобы я знал. Однако вы можете представить это:

exec 'normal! i' . substitute('sayonara', '\(..\)', nr2char(11) . '\1', 'g')

nr2char (11) является символом CTRL-K.

Если вам нужно сопоставление для этого (например, в визуальном режиме нажмите F1 над выделением, чтобы преобразовать его; используйте это только для однострочного выделения только по символам):

xnoremap <f1> d:exec 'normal! a' . substitute(@", '\(..\)', nr2char(11) . '\1', 'g')<ENTER>

Могут быть более правильные способы сделать это (не стирая содержимое регистра по умолчанию), но я буду слишком ленив на сегодня. Я подозреваю, что некоторые Stackers, возможно, захотят опубликовать другой ответ с более чистым кодом, они получат мое одобрение.

Другие вопросы по тегам