Я печатаю всеми десятью пальцами, поэтому использую Alt kbd> + H kbd> ( J kbd>, K kbd>, L kbd>) ярлыки в Vim в режиме вставки для перемещения курсора, и это очень круто :) Я хотел бы переназначить клавиши со стрелками в X (Gnome), чтобы использовать эти сочетания клавиш во всех приложениях X
Поэтому, если я нажму Alt kbd> + K kbd>, это будет работать как стрелка вверх.
Для самоистязания :) вы можете включить эти строки в ваш .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>
Не совсем то, что вы просите, но почти ...
Вы можете переназначить настройки клавиатуры X, используя команду xmodmap
. Вы можете просмотреть текущие настройки, выполнив xmodmap -pke
. Каждый код клавиши (значение, связанное с каждой клавишей на клавиатуре) может иметь до 8 символов клавиш (которые по сути являются выходными данными). Они следующие:
Так что в настоящее время мой ключ «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, поэтому не ожидайте, что ваши ключевые переназначения сработают.
Я бы использовал комбинацию панели настроек сочетаний клавиш и xvkbd.
xvkbd позволяет отправлять события клавиатуры через командную строку, а сочетания клавиш позволяют привязывать командные строки к ключевым событиям.