Проблема с Control- Shift- A заключается в том, что большинство программ эмуляции терминала не отправляют для него код, отличный от того, который был отправлен Control- A, поэтому экран не может увидеть разницу.
Возможно, вы сможете использовать Cq, если выполните stty -ixon
чтобы отключить «управление потоком программ» на tty. Обычно я делаю это, чтобы использовать C для поиска в командной строке.
Вы могли бы рассмотреть C- ^, так как он, кажется, обычно не связан. Это Control - Shift - 6 на раскладках клавиатуры США, но это может быть трудно набирать на других раскладках.
Большинство людей никогда не используют управляющий символ tty C-\ для отправки SIGQUIT. Чтобы использовать его, отключите функцию tty с помощью команды stty quit undef
и привяжите ее в качестве префиксного ключа. Это немного рискованно, так как, если вы нажмете C-\ на tty, где клавиша выхода не была отключена с помощью stty, вы можете убить процесс переднего плана вместо активации экрана.
Я перешел на Tmux некоторое время назад. По умолчанию это Cb, потому что он был разработан под экраном и не мешал настройкам экрана по умолчанию. Я обнаружил, что Cb работает довольно хорошо для меня (я обычно использую клавиши со стрелками для перемещения одного символа в командной строке оболочки, хотя я использую Mb и Mf для перемещения по словам).
Кстати, автор tmux использует Ca в своих основных сеансах и всегда вводит Ca дважды (независимо от того, используется ли сеанс tmux или нет). Если вы готовы принять эту привычку, это кажется достойным компромиссом, так как второй Ca должен быть недоступен в большинстве Emacs-подобных контекстов редактирования. Это не сработает, если вы будете часто использовать программы / контексты вне экрана, где второй Ca не будет запрещен.
По умолчанию Ca Ca связан с другой командой (переключиться на самый последний активный экран) на экране. Чтобы Ca Ca отправлял реальный Ca и имел окна переключения Ca o, поместите в свой .screenrc
:
escape ^A^A
bind o other