несколько орграфов в vim - PullRequest
3 голосов
/ 18 января 2012

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

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

1 Ответ

5 голосов
/ 18 января 2012

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

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, возможно, захотят опубликовать другой ответ с более чистым кодом, они получат мое повышение.

...