Я нахожусь в несколько необычном положении использования двух разных раскладок клавиатуры на регулярной основе ( Programmers-Dvorak и Turkish-F ). Эти макеты сильно отличаются друг от друга, и я могу быть опытным в VIM только с одним набором мышечных воспоминаний. Я довольно хорошо разбираюсь в командах vim в раскладке Dvorak, но практически невозможно использовать, если моя клавиатура находится в раскладке Turkish-F. К сожалению, я регулярно редактирую файлы на английском, турецком и даже смешанных языках. Мое знание таково, что я могу довольно хорошо набирать любой язык на соответствующей раскладке клавиатуры, но мой мозг отказывается соединять их и набирать даже несколько букв слова на турецком языке из раскладки Дворак или наоборот.
У меня есть привязки двух клавиш для изменения макета в Xorg, но даже это оставляет мне неловкий рабочий процесс в vim при редактировании файлов на разных языках:
<vim commands…>i<switch to tr>…content…<escape><switch to en><vim commands…>
Я хотел бы иметь возможность сократить это до чего-то вроде:
<vim commands…><leader>i…content…<escape><vim commands…>
... такой, что использование <leader>i
устанавливает множество :imap
значений для эмуляции турецкой раскладки без изменения раскладки системной клавиатуры. В то же время i
переключился бы в режим вставки, но без дополнительных :imap
значений. Сами значения просты, мне просто нужно сопоставление алфавита примерно так:
:imap a u
:imap A U
:imap o i
:imap O İ
"etc.
Вопрос заключается в том , как установить два режима вставки, один нормальный режим вставки и один псевдо вставки режим , который идентичен для связки отображений , кроме, и как я могу вызвать эти режимы с <leader>i
, <leader>a
и т.д.?
:imap
что он будет работать даже в удаленном сеансе SSH или когда $DISPLAY
не установлено иное.
InsertEnter
иInsertLeave
autocmds, которые вы можете использовать для автоматического переключения раскладок. В частности,InsertLeave
вы можете проверить, является ли он турецким, если он есть, переключиться на Дворжак, установить флаг, и при вводе вставки снова переключиться обратно на турецкий, если это было в последний раз, когда вы выходили из режима вставки.