Bash по сравнению с экраном Gnu: Ctrl-A Замены с Ctrl-Shift-A

Я - новый пользователь на Экран GNU. Я использовал Bash в течение очень долгого времени, и я хочу дать Экрану GNU попытку.

Как Вы знаете, Экран GNU использует 'C-a' (Управление-A) в качестве как управляющий символ. Проблема, это вмешивается в Особенность редактирования Строки в Bash (и GNU Readline), потому что Управление-A в Bash Переместится в запуск строки."

Я знаю, что могу установить Управляющий символ на другое сочетание клавиш, как "^Q" или"''" (Обратная галочка), но я испытываю затруднения при нахождении другого сочетания клавиш, которое уже не используется (^Q используется терминалом, обратная галочка используется при записи сценариев оболочки). Кажется, что Управляющий символ может только быть одним или двумя символами в длине. Я могу установить Экранный управляющий символ GNU, чтобы быть чем-то как "Control-Shift-A"?

(Я еще не могу использовать более затем одну гиперссылку, таким образом, я не могу связаться с документацией Bash),

44
задан 18.05.2010, 23:56

5 ответов

Проблема с Control-Shift-A состоит в том, что большинство программ эмуляции терминала не отправляет другой код за ним от того, отправленного Управлением-A, таким образом, не было бы никакого пути к экрану для сообщения различия.

Вы смогли использовать C-q, если Вы делаете stty -ixon отключить “программное управление потоком” на tty. Я обычно делаю это так, я могу использовать C-s для поиска на командной строке.

Вы могли бы рассмотреть C-^, так как это, кажется, обычно развязывается. Это - Control-Shift-6 на американских раскладках клавиатуры, но может быть трудно ввести на других разметках.

Большинство людей никогда не использует tty управляющий символ C-\для отправки SIGQUIT. Для использования его отключите tty функциональность с с stty quit undef и свяжите его как свой ключ префикса. Это немного опасно, хотя, с тех пор при ударе C-\в tty, где ключ выхода не был отключен с stty, Вы могли бы уничтожить приоритетный процесс вместо того, чтобы активировать экран.

Я переключился на tmux только что. Его значение по умолчанию является C-b, потому что он был разработан под экраном и не вмешался в значение по умолчанию экрана. Я нашел, что C-b работает довольно хорошо на меня (я обычно использую клавиши со стрелками для односимвольного перемещения на командной строке оболочки — хотя я использую M-b и M-f для перемещения словами).

Кстати, автор tmux использует C-a на своих основных сессиях и всегда вводит C-a дважды (ли на tmux сессии или не). Если Вы готовы принять эту привычку, она походит на достойный компромисс, так как второй C-a должен быть не в большинстве подобных Emacs контекстов редактирования. Это не работало бы так будет, если Вы часто будете использовать программы/контексты за пределами экрана, где второй C-a не был бы нет.

По умолчанию C-a C-a связывается с другой командой (переключитесь на последний раз активный экран) на экране. Чтобы иметь C-a C-a отправляют фактический C-a и имеют C-a o окна переключателя, вставляют следующее Ваш .screenrc:

escape ^A^A
bind o other
18
ответ дан 07.12.2019, 08:38

Я использую C-\для Экрана, и я не могу рекомендовать это достаточно. Можно поразить любое другое ключевое определение в несчастный случай, но не обычно C-\. Это - то, что мне нравится приблизительно он.

3
ответ дан 07.12.2019, 08:38

Я использую ctrl-_ (который может также быть произведен ctrl+7 и обычно ctrl +/) с screen/tmux.

0
ответ дан 07.12.2019, 08:38

Никакая потребность в обходном решении.
Для перемещения в начало строки при использовании экрана в ударе использовать

Управление-A (выпуск и затем) A


В целом, если будут экранные конфликты управляющего символа с ярлыком удара, то первое Управление ярлыка удара будет заменено Управлением-A

Аналогично для других ярлыков редактирования строки.

41
ответ дан 07.12.2019, 08:38

Я использую ctrl-z большую часть времени, но также и использую ctrl-x для некоторых. Я не использую прерывание 'остановки' так очень, но когда оно необходимо, я могу ввести ^zz. Это также позволяет мне запускать вторичные экранные сессии на удаленных серверах, которые используют ctrl-a по умолчанию. И если я запускаю третью сессию (на третьем сервере), затем я могу использовать ctrl-x. Ctrl-x является функцией Lockscreen, которая во многих средах не является всем этим обычным (так как экран часто работает в эмуляторе терминала).

0
ответ дан 07.12.2019, 08:38

Теги

Похожие вопросы