Я использую сложную систему для экрана. Мое экранирование по умолчанию установлено в \140 \140, что является backtick. Ctrl-A усложняет редактирование Emacs и командной строки для меня в Zsh, и мне не нравится Ctrl-O (две ручные операции для большинства действий на экране).
Я перепривязываю 's' к экрану 1, чтобы новые сессии создавались слева направо на клавиатуре, начиная с 1. Это позволяет мне зарезервировать экран 0 для того, что я считаю постоянными или справочными окнами. Это очень быстрый жест одной рукой для (backtick)1, (backtick)2, (backtick)3 для переключения между окнами.
Проблема с использованием backtick в среде unix заключается в попытке вырезать и вставлять код сценария shell/perl. По этой причине я нажимаю клавишу F11/F12, чтобы переключаться между моим escape-символом.
bindkey -d -k F1 escape ^O^O # bound to F11
bindkey -d -k F2 escape \140\140 # bound to F12
Это переключит escape на Ctrl-O, когда я выполняю операции вырезания и вставки. Я обнаружил, что двойная отметка проста и является хорошим компромиссом для большинства операций на экране.
Пересмотрите этот ответ с более новым решением, которое позволяет переключать режим, нажимая F12, и используя заголовок для обозначения режима.
## command characters
escape \140\140 # default is `
## sets caption and escape toggle
bindkey -d -k F2 process a # bound to F12
## initial caption
caption always '%{= kW}%?%F%{+b KW}%:%{= kK}%? %= %?%F%{-b .c}>>>%{-}%? | %-w%{mW}%n* %t%? @%u%?%{-}%+w '
## registers to toggle bindkeys
register a "\140:eval 'bindkey -d -k F2 process b' 'process c' 'escape \\017\\017'^M"
register b "\017:eval 'bindkey -d -k F2 process a' 'process d' 'escape \\140\\140'^M"
## registers to change captions
register c "\140:caption string '%{= kW}%?%F%{+b mW}%:%{= kK}%? %= %?%F%{.c}ALT%{-}%? | %-w%{KW}%n* %t%? @%u%?%{-}%+w '^M"
register d "\017:caption string '%{= kW}%?%F%{+b KW}%:%{= kK}%? %= %?%F%{.c}>>>%{-}%? | %-w%{mW}%n* %t%? @%u%?%{-}%+w '^M"