Попытка сопоставить <Ctrl> + <hjkl> с <Left Down Up Right> глобально (клавиши со стрелками Vim) как с xmodmap

9

Я пытаюсь отобразить Ctrl+ H, J, K, Lс помощью кнопок со стрелками Left, Down, Up, Rightсоответственно, на ОС Ubuntu ( во всем мире, а не внутри Vim).

Я попытался найти решение, опубликованное здесь , но команды модификаторов не работают. Вот что я пытаюсь:

xmodmap -e "keycode 45 Control_L = k Up"
xmodmap -e "keycode 45 control = k Up"

(код клавиши 45 отображается на «k»)

Ни одна из команд не работает. (Они не дают ошибок, но ctrl+ kне переназначается на up arrow)

Есть ли способ сделать это xmodmap, и если нет, есть ли более обходной путь?

Спасибо!

Изменить: я нашел свой ответ здесь - благодаря Swift

StrugglingProgrammer
источник

Ответы:

6

Конечно, очень странная идея превратить Ubuntu в кодовое имя «VimOS». Я думаю, что гораздо более адекватно сопоставить клавиши Vim с более свободным и равноправным кластером клавиатуры. Или определенно НЕ из-за этого также может быть полезным.

Однако я не удаляю свое первое предложение о сопоставлениях Vim и должен сказать, что ответ на ваш вопрос существует здесь:
Общесистемная навигация в стиле vim (hjkl)

Частично я согласен с этим мнением (спасибо Shell Hell ):

Примечание 3: Настройка Ctrl / Meta+ H, J, K, Lсочетания клавиш , кажется, самый простой способ , чтобы иметь ВИМ-стиль навигации , но это не так . Во-первых: вам придется делать это на основе каждого приложения, что является утомительным процессом. Второе: вы, вероятно, в конечном итоге нарушите отображения по умолчанию для любого приложения. И последнее, но не менее важное: некоторые приложения, например, rtorrent или htop, не позволяют изменять их значения по умолчанию, кроме как путем исправления их исходного кода. По тем же причинам вы не получите работу Super / Hyperтоже.

А также я нашел рядом ответ здесь:
Superuser: отображение Super + hjkl на клавиши со стрелками под X

Vim использует переключение режимов для сопоставления клавиш. Так что xmodmap для Vim - это несколько подключаемых глобалов, которые нарушают классический опыт Vim. Даже так, чтобы утверждать, что это звучит жалко;)

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

Отображение ключей в Vim - Учебник (часть 1)
Отображение ключей в Vim - Учебник (часть 2)
Отображение ключей в Vim - Учебник (часть 3)

быстрый
источник
Привет Свифт, спасибо за ответ. Возможно, мне было неясно задать свой вопрос. Я не пытаюсь делать какие-либо ключевые перестановки внутри Vim. На самом деле я пытаюсь отобразить ctrl + hjkl на клавиши со стрелками - влево, вниз, вверх, вправо соответственно в моем дистрибутиве Ubuntu GNU / Linux. Пост, на который я ссылался, утверждает, что это возможно (косвенно), но я не могу этого добиться успешно.
StrugglingProgrammer
извините, я понял ваше первое издание не правильно. ок, обновлю ответ)
swift
1
VIMOS! Где я могу получить это?
jeremyjjbrown
1

У меня Tux-J и Tux-K сопоставлены с Up и Down в KDE, это актуально для всех приложений. На самом деле это довольно легко настроить.

  1. Иди сюда: System Settings -> Custom Shorcuts -> Preset Actions
  2. Теперь щелкните правой кнопкой мыши Preset Actionsи выберитеNew -> Global Shortcut -> Send Keyboard Input
  3. Назовите новый ярлык VIM-J
  4. На вкладке «Триггер» нажмите кнопку «Ярлык» и нажмите « TuxJ.
  5. На вкладке Действие введите Down
  6. В нижней части окна нажмите Apply.
  7. Убедитесь, что ярлык работает. Если это так, то настройте оставшиеся ключи HK и L.

Наслаждайтесь!

dotancohen
источник