Чи є у нас таблиця прив'язки ключів, яка перекладає всі різні способи посилання на клавішу? Я використовую zsh
, але я припускаю, що якби була така таблиця, вона працювала б для будь-якої оболонки.
Причина, яку я прошу, полягає в тому, що я хотів би призначити деякі в'язки клавіш, і я не можу знати, як посилатися на них (якщо тільки я не буду красти ту, яка вже визначена).
Наприклад, у "zbindkey" у нас є така річ:
[[ "$terminfo[kend]" == " O"* ]] && \
bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
... і я можу здогадатися, що "Кенд" означає, що це стосується End ключа.
Перехресна перевірка, bindkey
я бачу ці рядки:
"^E" end-of-line
"^[OF" end-of-line
"^[[F" end-of-line
... тому я вірю, що один із цих рядків відноситься до End ключ. Який?
У нас це також є у файлі "bindkey":
bindkey "\e[A" history-beginning-search-backward
Тепер я, мабуть, знаю, що це Up Arrowключ, але як я міг дізнатися, якби не знав?
$ bindkey (at CLI)
... дає нам іншу мову для того ж ключа:
"^[[A" history-beginning-search-backward
... але принаймні зараз я знаю, що ^[[A
в bindkey-at-CLI розмова - це те саме, що і \e[A
в bindkey-in-zbindkey. Це легко. За старих часів у DOS, Up Arrow був0;72
: ви могли знайти код сканування кожного юридичного натискання клавіш, і там була лише одна мова.
Є стіл? Або якийсь інший спосіб мати можливість натиснути клавішу і знати, як посилатися на неї у terminfo[]
... у "bindkey-in-zbindkey" ... у "bindkey-at-CLI" та / або будь-якими іншими мовами трапляється бути?
Знову ж таки, в DOS з'явилася scancode
програма - наберіть клавішу, і ви отримали код сканування. Це було гріховно легко.
З відповідей я гадаю, що тоді немає можливості роздрукувати таблицю всіх можливих прив’язок? У будь-якому випадку "bindkey" робить майже те, що я хочу:
pts/2 HP-y5-10-Debian1 root /aWorking/Docs $ bindkey -L
bindkey "^@" set-mark-command
bindkey "^A" beginning-of-line
bindkey "^B" backward-char
bindkey "^D" delete-char-or-list
bindkey "^E" end-of-line
...
принаймні я бачу всі існуючі прив'язки, навіть якщо не всі можливі прив'язки. Тепер, якщо був лише якийсь спосіб перекладу ключових гліфів у "звичайні" терміни:
bindkey "Home" beginning-of-line
... тоді я був би щасливий.
stty -a
сказаноlnext
), а потім клавішу.