control + пунктуация не регистрируется в терминале

В целях использования emacs в терминале я хочу использовать комбинации клавиш, такие как Control- '. Но когда я пробую эту комбинацию клавиш, она просто пишет ' в командной строке. То же самое происходит для всех знаков препинания. Есть ли способ обойти это?

2 ответа

Решение

Из-за того, как работают терминалы ASCII, Ctrl-' и другие подобные комбинации не имеют смысла.

Значение ASCII одинарной кавычки равно 3910 и с тех пор 3910 and6310 по- прежнему равняется 3910, в результате вы все равно получаете одинарную кавычку. Только символы с кодами ASCII от 6410 до 12610 (включительно) дают значимые управляющие коды (от 010 до 3110). Я упустил некоторые тонкости для простоты.

Когда вы не используете терминал ASCII, вы можете отобразить эти комбинации клавиш, так как вы используете коды сканирования клавиатуры или какой-либо другой эквивалент.

Я написал пакет Emacs, который может научить Emacs и терминалы правильно распознавать все комбинации клавиш на клавиатуре ПК и комбинации клавиш-модификаторов:

https://github.com/CyberShadow/term-keys

Конфигурация по умолчанию уже включает в себя кодировку Ctrl ` (так что ее можно отличить от просто` или Ctrl Shift` и привязать в Emacs к C-`).

Другие вопросы по тегам