Использование Vim с греческим языком - PullRequest
26 голосов
/ 23 сентября 2010

Так что я даю Vim серьезную попытку кодировать мои приложения на Python.

Несмотря на то, что Vim оказался настолько гибким, я думал использовать его в качестве основного редактора на работе (юрист / юридические документы). Проблема в том, что мой родной язык не английский, а греческий. Поэтому я установил Alt + Shift для переключения между английской и греческой раскладками клавиатуры. Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно нажимать Alt + Shift каждый раз, когда я хочу ввести команду Vim (чтобы вернуться на английский). Так что Alt + Shift когда я печатаю свой документ, затем Alt + Shift снова для ввода команд Vim. Это побеждает цель использования Vim, скорость использования.

Так что мой вопрос прост, есть ли способ избежать Alt + Shift для использования команд Vim с греческим языком?

1 Ответ

33 голосов
/ 23 сентября 2010

Эту проблему можно решить с помощью опции keymap. Это позволяет определить альтернативное отображение клавиатуры для использования в режимах, требующих ввод текста.

Для переключения между стандартными и альтернативными клавишами в режиме «Вставка» Замените или в режиме командной строки используйте Ctrl + ^ ( Ctrl + 6 ). Изменение раскладки клавиатуры влияет на ввод текста только; поведение клавиатуры в обычном режиме остается неизменным независимо от текущая настройка раскладки клавиатуры. Можно оставить режим вставки записи на греческом и немедленно использовать сочетания клавиш в обычном режиме, не переключаясь на другое раскладка клавиатуры. Если затем возвращается в режим вставки или, например, начинает поиск, набрав /, Vim переключает раскладку клавиатуры обратно на греческий автоматически.

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

См. Также мой ответ на аналогичный вопрос , который был задан потом. Это включает в себя немного более подробное объяснение.

...