control + пунктуация не регистрируется в терминале
В целях использования emacs в терминале я хочу использовать комбинации клавиш, такие как Control- '. Но когда я пробую эту комбинацию клавиш, она просто пишет '
в командной строке. То же самое происходит для всех знаков препинания. Есть ли способ обойти это?
2 ответа
Из-за того, как работают терминалы ASCII, Ctrl-' и другие подобные комбинации не имеют смысла.
Значение ASCII одинарной кавычки равно 3910 и с тех пор 39
10 and
63
10 по- прежнему равняется 3910, в результате вы все равно получаете одинарную кавычку. Только символы с кодами ASCII от 6410 до 12610 (включительно) дают значимые управляющие коды (от 010 до 3110). Я упустил некоторые тонкости для простоты.
Когда вы не используете терминал ASCII, вы можете отобразить эти комбинации клавиш, так как вы используете коды сканирования клавиатуры или какой-либо другой эквивалент.
Я написал пакет Emacs, который может научить Emacs и терминалы правильно распознавать все комбинации клавиш на клавиатуре ПК и комбинации клавиш-модификаторов:
https://github.com/CyberShadow/term-keys
Конфигурация по умолчанию уже включает в себя кодировку Ctrl ` (так что ее можно отличить от просто` или Ctrl Shift` и привязать в Emacs к C-`
).