Настройка VIM программиста для финской / шведской или другой неамериканской раскладки клавиатуры - PullRequest
31 голосов
/ 09 декабря 2010

Недавно я изучал некоторые хакерские программы VIM, я выучил много полезных команд и стал довольно эффективным при редактировании текста с помощью VIM. Я использую финскую раскладку qwerty (см. Изображение ниже), которая довольно ужасна для программирования. Все ваши обычные специальные кодовые символы ()[]{}/\ выполняются нажатием либо shift , либо alt gr и клавиши number , но я уже довольно привык к этому. Я не хочу менять раскладку клавиатуры, так как я довольно много пишу и пишу в IRC-чате на своем родном языке, и для этого мне нужны символы ä и ö (å для меня бесполезен, только Шведы этим пользуются).

Моя проблема в том, что некоторые команды VIM по умолчанию имеют довольно сложное сопоставление клавиш, например, перейти к тегу под курсором ^], что означает Ctrl - AltGr - 9 на финской клавиатуре. Это требует, чтобы я нажал левую кнопку управления левой рукой, alt gr моим большим пальцем правой руки и вытянул указательный палец правой руки до клавиши номер 9 . Это похоже на использование emacs и / или игру на классической гитаре. Не совсем эргономично.

Вот как выглядит раскладка клавиатуры:

sweden keyboard

ПРИМЕЧАНИЕ: клавиши, отмеченные синим цветом, пишутся нажатием AltGr (правый alt) и соответствующей клавиши. Красные - это составные символы с двумя ключами или мертвые клавиши, которые сами по себе не выдают символов. F.ex. чтобы ввести символ ü, сначала нажмите клавишу ¨ ^ ~ , а затем u . То же самое касается клавиш акцента. Эти мертвые ключи не отображаются в VIM.

Так что в основном у меня есть 3 дополнительных алфавитных ключа ( ä ö å ), но их нельзя сопоставить более одного раза, клавиши-модификаторы не работают с ними (в VIM). Я могу сопоставить что-то с ä, но не Ä или <C-ä>.

Теперь я ищу идеи для моей настройки VIM от других финских / шведских или других пользователей раскладки клавиатуры за пределами США. Пожалуйста, поделитесь вашими сочетаниями клавиш, советами .vimrc и всем, что может быть полезно.

Ответы [ 6 ]

5 голосов
/ 09 декабря 2010

Я просто сохраняю раскладку клавиатуры в США при кодировании и переключаюсь на локальную раскладку (итальянскую), когда пишу текст, требующий букв с акцентом или других символов, специфичных для языка. В конце концов, это просто нажатие клавиши для переключения, и ничто не сравнится с американским макетом для программирования. Я немного попробовал, но обнаружил, что указание множества сопоставлений для обхода этого гораздо более хлопотно, чем необходимость полного переключения макетов.

2 голосов
/ 12 декабря 2010

Вы можете использовать настройки langmap и keymap с VIM.Я использую это для Colemak.Вы можете указать свой собственный макет.

h keymap
h langmap
2 голосов
/ 09 декабря 2010

Мое решение состоит в том, чтобы использовать пользовательское сочетание макетов США и FIN / SWE. Работает довольно хорошо (или, по крайней мере, лучше, чем ужасная раскладка плавников). Image of my layout

В этом изображении, вероятно, не все символы, которые у меня есть, но в любом случае большинство из них.

1 голос
/ 13 марта 2019

Мое решение для этого состояло в том, что я сделал пользовательскую раскладку клавиатуры, которая сочетает в себе лучшие аспекты американской раскладки с финской. Приятно то, что он сводит изменения к минимуму, так что кривая обучения практически не существует.

Философия, стоящая за ним, заключалась в том, чтобы свести к минимуму необходимость использования AltGr и при этом сохранять его как можно ближе к стандартному макету Fin. И хотя под AltGr есть некоторые клавиши, вам никогда не придется неловко нажимать их правой рукой, удерживая модификатор большим пальцем.

Программы, которые я использовал для создания макета: Ukelele для macOS и Microsoft Keyboard Layout Creator для Windows. Я называю это Finner.keylayout / Finner.klc.

Вот базовая раскладка (в ней гораздо больше клавиш под модификаторами) с выделенными измененными клавишами:

Image of the keylayout

1 голос
/ 09 декабря 2010

В качестве практического временного интервала вы не могли бы просто переключаться между макетами?

Например, в Ubuntu вы можете настроить горячие клавиши для легкого переключения между макетами, перейдя к Preferences → Keyboard → Layouts → Options → Key(s) to change layout.Я использую обе клавиши Shift для быстрого перемещения между макетами, и есть даже опция, позволяющая каждому окну иметь собственную настройку макета, которая хорошо работает, если вы программируете в Vim на английском языке в США, когда пишете документацию / электронные письма / и т. Д.в других окнах в другом макете.Даже если мне нужно переключить макеты (для комментариев к коду и т. Д.), Потребуется очень мало усилий, чтобы нажать обе клавиши Shift и продолжить.

Должны быть аналогичные способы настройки этого в других средах рабочего стола / эксплуатации.системы.

0 голосов
/ 09 декабря 2010

Я просто сопоставил эти комбинации Ctrl с другими сочетаниями клавиш.

Например, ctrl - ] сопоставлен с meta вниз .

...