Я новый пользователь экрана GNU. Я использую Bash очень долгое время и хочу попробовать GNU Screen.
Как вы знаете, GNU Screen использует 'Ca' (Control-A) в качестве командного символа. Проблема в том, что это мешает функции редактирования строки в Bash (и GNU Readline), потому что Control-A в Bash переместится в начало строки ».
Я знаю, что могу установить для командного символа другую последовательность клавиш , например «^ Q» или «` `» (Backtick), но у меня возникают проблемы с поиском другой последовательности клавиш, которая еще не используется (^ Q используется терминалом , backtick используется при написании сценариев оболочки). Похоже, что командный символ может быть только один или два символа в длину. Могу ли я установить символ управления экраном GNU на что-то вроде «Control-Shift-A»?
(Я не могу использовать более одной гиперссылки, поэтому я не могу ссылаться на документацию Bash)
источник
screen
избежание дезориентации при использовании в других системах вам лучше придерживаться стандартных сочетаний клавиш или, по крайней мере, сначала изучить их.^A a
По умолчанию отправит обычный^A
ключ комбо. Это немного неудобно, если вы часто используете эту комбинацию; Я обычно используюHOME
ключ вместо этого из-за этого. Но тогда это тоже не всегда работает.Ответы:
Проблема с 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
:источник
Нет необходимости в обходном пути.
Чтобы перейти к началу строки при использовании экрана в bash, используйте
Control- A(отпустите, а затем)A
В общем случае, если существует символ управления экраном, конфликтующий с ярлыком bash, первый ярлык bash Controlбудет заменен на Control-A
Аналогично для других ярлыков редактирования строки.
источник
Я использую C- \ для экрана, и я не могу рекомендовать его достаточно. Вы можете нажать любое другое ключевое определение в случае аварии, но обычно это не C- \. Вот что мне нравится в этом.
источник
Я использую это.
screenrc
Пример: чтобы отсоединить, вы набираете
ctrl-b d
источник
Я использую Ctrl-_ (который также может быть произведен с помощью Ctrl + 7 и обычно Ctrl + /) с screen / tmux.
источник
Я использую Ctrl-Z большую часть времени, но для некоторых также использую Ctrl-X. Я не так часто использую прерывание «стоп», но когда это необходимо, я могу набрать ^ zz. Это также позволяет мне запускать сеансы вторичного экрана на удаленных серверах, которые используют ctrl-a по умолчанию. И если я начну третий сеанс (на третьем сервере), то я могу использовать Ctrl-X. Ctrl-x - это функция блокировки экрана, которая во многих средах не совсем обычна (поскольку экран часто запускается внутри эмулятора терминала).
источник