Ответ 1
Эта проблема может быть решена с помощью опции keymap
. Это
позволяет определять альтернативное сопоставление клавиатуры для использования в режимах, требующих
текстовый ввод.
Для переключения между стандартными и альтернативными ключевыми картами во время ввода,
Замените или в режиме командной строки используйте Ctrl + ^
(Ctrl + 6). Изменение ключевой карты влияет на ввод текста
только; поведение клавиатуры в нормальном режиме остается неизменным независимо от
текущую настройку клавиатуры. Можно оставить запись в режиме вставки на греческом и
немедленно используйте клавиши с нормальным режимом, не переключаясь на другой
раскладка клавиатуры. Если затем вернуться в режим Вставки или, например,
начнет поиск, набрав /
, Vim переключит ключевую карту на греческий
автоматически.
Текущая справочная карта, используемая в этих режимах ввода текста, запоминается
между переключениями в другие режимы. Единственное исключение из этого
поведение выполняется для режима командной строки, который всегда начинается с
default keymap, так как большую часть времени требуется ввести Ex
команда (в ASCII). С помощью параметра keymap
пользователь должен
работа в Vim-системной раскладке клавиатуры на английском языке
коммутационная карта Vim с Ctrl + ^ (вместо
общесистемный переключатель раскладки).
Чтобы включить греческую раскладку UTF-8 на постоянной основе, добавьте следующую строку в свою
.vimrc
.
:set keymap=greek_utf-8
Существует множество предопределенных раскладок для большого набора языков, вы можете
просмотрите их все в Vim, используя :e $VIMRUNTIME/keymap
. Обратите внимание, что
обычно имеется несколько раскладок для одного языка, которые различаются
только по кодировке символов, так что любой может выбрать тот, который подходит
их конфигурации.
Я также рекомендую установить следующие параметры, чтобы указать, будет ли раскладка клавиатуры должен быть включен по умолчанию в режиме Вставки и при вводе поиска шаблон.
:set iminsert=0
:set imsearch=-1
См. :help iminsert
и :help imsearch
для подробного
объяснения.
Существует также специальный языковой режим, который, если я не ошибаюсь, был
введенный в Vim раньше, чем keymap
. Это позволяет достичь
поведение, аналогичное тому, которое предоставляется keymap
вручную
задание пар букв, соответствующих клавишам на клавиатуре в
длинную строку, которая будет сохранена в опции langmap
. Лично - мой родной
Язык тоже не английский. Я предпочитаю (и рекомендую) использовать keymap
вместо этого.
В заключение я должен подчеркнуть, что все вышесказанное в равной степени применимый к любому другому языку, Vim имеет (или может быть настроен на наличие) клавиатура для.
См. также мой ответ на аналогичный вопрос, который был задан позже. Он содержит немного более подробное объяснение.