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