Я настраиваю файл ~/.inputrc
так, чтобы он совпадал с моими пользовательскими привязками клавиш emacs, и я очень борюсь с последовательностями клавиш readline.
Под этим я подразумеваю, что если я хочу установить <up>
/ <down>
, я должен установить для него значение "\e[A"
/ "\e[B"
. Как я могу определить keyseq для <F1>..<F12>
? ] или даже если я хочу связать что-то, скажем, (kbd "C-x <M-f7>")
в терминологии emacs (то есть: чтобы [control]+[x] [alt]+[f7]
было одним ключевым ключом)?
есть какая-нибудь команда , которая сообщает мне определенную клавишу на клавиатуре, какова ее управляющая последовательность? Если нет команды, есть ли другой ресурс (article / table / ...) с некоторыми подсказками?
--> goal: replace <KEY SEQUENCE> with proper keyseq
"<f3>" : start-kbd-macro
"<S-f4>" : end-kbd-macro
"C-x <C-M-S-f4>" : dump-macro
"<f4>" : call-last-kbd-macro
... more keybindings ...
Я нашел решение: использовать emacs -nw
и функция insert-quoted
(значение по умолчанию связывает с Ctrl+q).
Ctrl+q ↑ приведет к ^[[A
Ctrl+q F1 в ^[[[A
Строки в ~/.inputrc
будет затем следовать (результаты могут варьироваться в зависимости от среды - главным образом переменная $TERM):
"\e[[A": "pressed up key"
"\e[[[A": "pressed F1"
Мотивация для изменения .inputrc может следовать.
Разве Вам не нравятся подобные emacs ключи за навигацию вдоль строки и истории?
Я не делаю и я предпочитаю привязки клавиш ErgoEmacs, потому что они логичны, и я хочу использовать их не только в Emacs, но и в масштабе всей системы.
"\ej": backward-char
"\el": forward-char
"\ei": previous-history
"\ek": next-history
"\eh": beginning-of-line
"\eH": end-of-line
"\eu": backward-word
"\eo": forward-word
"\eg": kill-line
"\eG": backward-kill-line
"\ee": backward-kill-word
"\er": kill-word
"\ed": backward-delete-char
"\ef": delete-char
"\ez": undo
"\ex": kill-region
"\ec": copy-region-as-kill
"\ev": yank
"\e;": forward-search-history
"\e:": reverse-search-history
Я записал "sudo установку способности" так много раз (обычно после новой установки), что я имею M-a M-i
(т.е. Alt+a Alt+i) как ярлык для этого (потому что alias
к тому же самому не автоматически заполняют),
"\ea\ei": "sudo aptitude install "
Существует много других причин, почему у Вас должно быть свое собственное ~/.inputrc
...