Программист Установка VIM для финской/шведской или другой раскладок клавиатуры
Недавно я изучил некоторые хакеры VIM, и я узнал много полезных команд и получил довольно эффективную редакцию текста с VIM. Я использую финский qwerty раскладку клавиатуры (см. Изображение ниже), что довольно ужасно для программирования. Все ваши обычные символы кодирования ()[]{}/\
происходят, нажимая клавиши shift или alt gr и number, но я уже довольно привык к этому. Я не хочу менять раскладку клавиатуры, так как у меня довольно много писем и чатов IRC на моем родном языке, и для этого мне нужны символы ä
и ö
(å
для меня бесполезен, только Шведы используют это).
Моя проблема в том, что некоторые команды VIM имеют довольно сложную комбинацию клавиш по умолчанию, например, "go-to-tag-under-cursor" - ^], которая переводится на Ctrl - AltGr - 9 на финскую клавиатуру, Для этого мне нужно нажать клавишу left control левой рукой, alt gr пальцем правой руки и протянуть правый указательный палец к клавише number 9. Это похоже на использование emacs и/или игра на классической гитаре. Не совсем эргономичный.
Вот что выглядит раскладка клавиатуры:
![sweden keyboard]()
ПРИМЕЧАНИЕ: клавиши, отмеченные синим, записываются нажатием AltGr (справа) и соответствующей клавишей. Красные - это двухзначные персонажи или мертвые ключи, которые не выдают персонажа сами. F.ex. для ввода символа ü
сначала нажмите клавишу ¨^~, а затем u. То же самое касается клавиш акцента. Эти мертвые ключи в VIM недоступны.
Таким образом, в основном у меня есть 3 дополнительных алфавитных ключа (ä ö å), но они не могут отображаться более одного раза, ключи-модификаторы не работают с ними (в VIM). Я могу сопоставить что-то с ä
, но не Ä
или <C-ä>
.
Теперь я ищу идеи для моей установки VIM у других финских/шведских или других пользователей раскладки клавиатуры, отличных от США. Поделитесь своими ключевыми сопоставлениями, советами .vimrc и всем остальным, что может быть полезно.
Ответы
Ответ 1
Я просто держу клавиатуру с макетом США при кодировании и переключаюсь только на локальный макет (итальянский) при написании текста, для которого требуются буквы с акцентом или другие символы, специфичные для языка. В конце концов, это просто клавиша для переключения, и ничто не сравнится с американским макетом для программирования. Я немного потрудился, но обнаружил, что указание множества сопоставлений для работы над этим гораздо труднее, чем полный переключатель компоновки по необходимости.
Ответ 2
Мое решение состоит в использовании пользовательского сочетания рассылок US и FIN/SWE. Работает довольно хорошо (или, по крайней мере, лучше, чем ужасный макет планки). ![Image of my layout]()
У этого изображения, вероятно, нет всех символов, которые я делаю, но большинство из них в любом случае.
Ответ 3
Вы можете использовать настройку langmap и keymap в VIM. Я использую его для colemak. Вы можете указать свой собственный макет.
h keymap
h langmap
Ответ 4
Как практическая остановка, не могли бы вы просто переключаться между макетами?
Например, в Ubuntu вы можете настроить горячие клавиши, чтобы легко переключаться между макетами, перейдя на Preferences → Keyboard → Layouts → Options → Key(s) to change layout
. Я использую обе клавиши Shift, чтобы быстро перемещаться между макетами, и даже вариант, чтобы каждое окно имело свой собственный параметр компоновки, который хорошо работает, если вы программируете в Vim в макете английского языка при написании документации/электронной почты и т.д. в других окнах в другом макете. Даже если мне нужно переключать макеты (для комментариев кода и т.д.), Требуется очень мало усилий, чтобы нажать обе кнопки Shift и продолжить.
Должны быть аналогичные способы настройки этого в других средах рабочего стола/операционных системах.
Ответ 5
Я просто сопоставил эти ctrl-комбо с другими привязками клавиш.
Например, ctrl-]
отображается на m-<down>
.