Сопоставить стрелки клавиатуры с ярлыками

Я печатаю всеми десятью пальцами, поэтому использую Alt + H ( J , K , L ) ярлыки в Vim в режиме вставки для перемещения курсора, и это очень круто :) Я хотел бы переназначить клавиши со стрелками в X (Gnome), чтобы использовать эти сочетания клавиш во всех приложениях X

Поэтому, если я нажму Alt + K , это будет работать как стрелка вверх.

Для самоистязания :) вы можете включить эти строки в ваш .gvimrc

inoremap <Left>  <NOP>
inoremap <Right> <NOP>
inoremap <Up>    <NOP>
inoremap <Down>  <NOP>
inoremap <A-h> <Left>
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-l> <Right>
9
задан 1 November 2011 в 00:45

2 ответа

Не совсем то, что вы просите, но почти ...

Вы можете переназначить настройки клавиатуры X, используя команду xmodmap. Вы можете просмотреть текущие настройки, выполнив xmodmap -pke

. Каждый код клавиши (значение, связанное с каждой клавишей на клавиатуре) может иметь до 8 символов клавиш (которые по сути являются выходными данными). Они следующие:

  1. При отдельном нажатии
  2. При нажатии со смещением
  3. При нажатии с включенным переключателем режима (кажется, устарел)
  4. При нажатии с переключателем режима и смещением (кажется, устарели)
  5. При нажатии с Alt-Gr (иначе ISO_Level3_Shift в терминах xmodmap)
  6. При нажатии с Alt-Gr и shift [ 1112]

Так что в настоящее время мой ключ «h» выглядит следующим образом:

h H h H h hsth Hstroke

где клавиша Hstroke производит Ħ.

Если вы не используете Alt-Gr для ввода не-ascii символов, вы можете переназначить h, j, k и l с помощью Alt-Gr, чтобы сделать то, что вы хотите. Это было бы:

xmodmap -e 'keycode 43 = h H h H Left Hstroke'
xmodmap -e 'keycode 44 = j J j J Up J'
xmodmap -e 'keycode 45 = k K k K Down ampersand'
xmodmap -e 'keycode 46 = l L l L Right Lstroke'

Alt-Gr с записями смены, разумеется, не является строго необходимым, я просто сохраняю значения, которые уже существуют. Вы можете найти значения кода ключа, выполнив команду xev из терминала. xev отображает события X, так что вы можете нажать клавишу и узнать информацию о ней.

Чтобы сделать этот параметр постоянным, вы можете добавить следующее в .Xmodmap в своем домашнем каталоге

keycode 43 = h H h H Left Hstroke
keycode 44 = j J j J Up J
keycode 45 = k K k K Down ampersand
keycode 46 = l L l L Right Lstroke

Нажатие Alt-Gr, конечно, не так приятно, как нажатие Alt при использовании hjkl, но вы Я думаю, что вам может быть трудно заставить Alt работать, потому что он используется для доступа к меню. Вы можете использовать информацию, содержащуюся в этом ответе, вместе с инструментами, упомянутыми Fraekkert, для привязки, например. Вместо этого Alt-Shift-h, который может подойти вам лучше.

Также, возможно, стоит отметить, что вы можете установить режим vi в bash (или какую бы оболочку вы не использовали) с помощью set -o vi. Это дает вам как поведение при редактировании командных строк и истории. Я не верю, что это смотрит на ваш .vimrc, поэтому не ожидайте, что ваши ключевые переназначения сработают.

0
ответ дан 1 November 2011 в 00:45

Я бы использовал комбинацию панели настроек сочетаний клавиш и xvkbd.

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

0
ответ дан 1 November 2011 в 00:45

Другие вопросы по тегам:

Похожие вопросы: