Клавиши навигации курсором на основном блоке клавиатуры
Во время работы с текстами, особенно исходными текстами программ, часто требуется перемещать курсор, и для этого приходится убирать правую руку со стартовой позиции печати на стрелки, управляющие курсором. В текстовом редакторе VIM для этого придумали специальный режим, в котором некоторые клавиши работают как стрелки.
Было решено использовать клавиши, используемые в клавиатуре Miniguru, как более привычные, чем те что в VIM, но совместно с нажатой клавишей [Alt]
.
Клавиатурные сочетания:
- стрелка вверх:
Alt+i
- стрелка влево:
Alt+j
- стрелка вниз:
Alt+k
- стрелка вправо:
Alt+l
- клавиша
[Home]
:Alt+u
- клавиша
[End]
:Alt+o
- клавиша
[Page Up]
:Alt+p
- клавиша
[Page Down]
:Alt+;
- клавиша
[Delete]
:Alt+m
- клавиша
[Insert]
:Alt+,
- клавиша
[Backspace]
:Alt+пробел
Установка в Ubuntu Linux
Для использования необходимо установить пакет xbindkeys
:
$ sudo apt-get install xbindkeys
После чего файл создать файл ~/.xbindkeysrc
(исходный код ниже), и запустить установленную программу:
$ xbindkeys
Можно работать. Чтобы работали сочетания Alt+Shift+[ijkl]
, необходимо убрать переключение раскладки клавиатуры по Alt+Shift
, я переставил эту функцию на [Caps Lock]
.
Файл ~/.xbindkeysrc
"SamsungToolsDummyCommand"
Control+Alt+Shift+Mod4+F1+F2+F3
"samsung-tools --show-notify --quiet --backlight hotkey"
XF86Launch1
"samsung-tools --show-notify --quiet --cpu hotkey"
XF86Launch3
"samsung-tools --show-notify --quiet --webcam hotkey"
Alt+KP_Insert
"samsung-tools --show-notify --quiet --wireless hotkey"
XF86WLAN
"xvkbd -xsendevent -text '\[Left]'"
m:0x8 + c:44
Alt + j
"xvkbd -xsendevent -text '\S\[Left]'"
m:0x9 + c:44
Shift+Alt + j
"xvkbd -xsendevent -text '\C\[Left]'"
m:0xc + c:44
Control+Alt + j
"xvkbd -xsendevent -text '\C\S\[Left]'"
m:0xd + c:44
Control+Shift+Alt + j
"xvkbd -xsendevent -text '\[Right]'"
m:0x8 + c:46
Alt + l
"xvkbd -xsendevent -text '\S\[Right]'"
m:0x9 + c:46
Shift+Alt + l
"xvkbd -xsendevent -text '\C\[Right]'"
m:0xc + c:46
Control+Alt + l
"xvkbd -xsendevent -text '\C\S\[Right]'"
m:0xd + c:46
Control+Shift+Alt + l
"xvkbd -xsendevent -text '\[Up]'"
m:0x8 + c:31
Alt + i
"xvkbd -xsendevent -text '\S\[Up]'"
m:0x9 + c:31
Shift+Alt + i
"xvkbd -xsendevent -text '\C\[Up]'"
m:0xc + c:31
Control+Alt + i
"xvkbd -xsendevent -text '\C\S\[Up]'"
m:0xd + c:31
Control+Shift+Alt + i
"xvkbd -xsendevent -text '\[Down]'"
m:0x8 + c:45
Alt + k
"xvkbd -xsendevent -text '\S\[Down]'"
m:0x9 + c:45
Shift+Alt + k
"xvkbd -xsendevent -text '\C\[Down]'"
m:0xc + c:45
Control+Alt + k
"xvkbd -xsendevent -text '\C\S\[Down]'"
m:0xd + c:45
Control+Shift+Alt + k
"xvkbd -xsendevent -text '\[Home]'"
m:0x8 + c:30
Alt + u
"xvkbd -xsendevent -text '\S\[Home]'"
m:0x9 + c:30
Shift+Alt + u
"xvkbd -xsendevent -text '\C\[Home]'"
m:0xc + c:30
Control+Alt + u
"xvkbd -xsendevent -text '\C\S\[Home]'"
m:0xd + c:30
Control+Shift+Alt + u
"xvkbd -xsendevent -text '\[End]'"
m:0x8 + c:32
Alt + o
"xvkbd -xsendevent -text '\S\[End]'"
m:0x9 + c:32
Shift+Alt + o
"xvkbd -xsendevent -text '\C\[End]'"
m:0xc + c:32
Control+Alt + o
"xvkbd -xsendevent -text '\C\S\[End]'"
m:0xd + c:32
Control+Shift+Alt + o
"xvkbd -xsendevent -text '\[Page_Up]'"
m:0x8 + c:33
Alt + p
"xvkbd -xsendevent -text '\S\[Page_Up]'"
m:0x9 + c:33
Shift+Alt + p
"xvkbd -xsendevent -text '\C\[Page_Up]'"
m:0xc + c:33
Control+Alt + p
"xvkbd -xsendevent -text '\C\S\[Page_Up]'"
m:0xd + c:33
Control+Shift+Alt + p
"xvkbd -xsendevent -text '\[Page_Down]'"
m:0x8 + c:47
Alt + semicolon
"xvkbd -xsendevent -text '\S\[Page_Down]'"
m:0x9 + c:47
Shift+Alt + semicolon
"xvkbd -xsendevent -text '\C\[Page_Down]'"
m:0xc + c:47
Control+Alt + semicolon
"xvkbd -xsendevent -text '\C\S\[Page_Down]'"
m:0xd + c:47
Control+Shift+Alt + semicolon
"xvkbd -xsendevent -text '\d'"
m:0x8 + c:58
Alt + m
"xvkbd -xsendevent -text '\S\d'"
m:0x9 + c:58
Shift+Alt + m
"xvkbd -xsendevent -text '\C\d'"
m:0xc + c:58
Control+Alt + m
"xvkbd -xsendevent -text '\C\S\d'"
m:0xd + c:58
Control+Shift+Alt + m
"xvkbd -xsendevent -text '\[Insert]'"
m:0x8 + c:59
Alt + comma
"xvkbd -xsendevent -text '\S\[Insert]'"
m:0x9 + c:59
Shift+Alt + comma
"xvkbd -xsendevent -text '\C\[Insert]'"
m:0xc + c:59
Control+Alt + comma
"xvkbd -xsendevent -text '\C\S\[Insert]'"
m:0xd + c:59
Control+Shift+Alt + comma
"xvkbd -xsendevent -text '\b'"
m:0x8 + c:65
Alt + space