Jestem nowym użytkownikiem GNU Screen. Używam Basha od bardzo dawna i chcę wypróbować GNU Screen.
Jak wiadomo, GNU Screen używa „Ca” (Control-A) jako znaku polecenia. Problem w tym, że koliduje to z funkcją edycji linii w Bash (i GNU Readline), ponieważ Control-A w Bash przejdzie na początek linii. ”
Wiem, że mogę ustawić znak polecenia na inną sekwencję klawiszy , np. „^ Q” lub „'' (Backtick), ale mam problem ze znalezieniem innej sekwencji klawiszy, która nie jest jeszcze używana (^ Q jest używane przez terminal , podczas pisania skryptów powłoki używany jest backtick). Wygląda na to, że Postać Dowodzenia może mieć tylko jeden lub dwa znaki. Czy mogę ustawić znak kontrolny GNU Screen na „Control-Shift-A”?
(Nie mogę jeszcze użyć więcej niż jednego hiperłącza, więc nie mogę połączyć się z dokumentacją Bash)
źródło
screen
z innych systemów, najlepiej trzymać się domyślnych skrótów klawiszowych lub przynajmniej nauczyć się ich najpierw.^A a
domyślnie wyśle zwykłą^A
kombinację klawiszy. Jest to trochę niewygodne, jeśli często używasz tego zestawu; ZHOME
tego powodu zwykle używam klucza. Ale to też nie zawsze działa.Odpowiedzi:
Problem z Control- Shift- Apolega na tym, że większość programów emulujących terminal nie wysyła do niego innego kodu niż ten wysłany przez Control- A, więc ekran nie będzie w stanie odróżnić.
Możesz użyć Cq, jeśli zrobisz to,
stty -ixon
aby wyłączyć „kontrolę przepływu oprogramowania” na terminalu. Zazwyczaj robię to, aby móc używać Cs do wyszukiwania w wierszu poleceń.Możesz rozważyć C- ^, ponieważ wydaje się, że jest zwykle niezwiązany. Jest Control- Shift- 6na amerykańskich układów klawiatury, ale może to być trudne, aby wpisać się na innych układach.
Większość ludzi nigdy nie używa znaku kontrolnego tty C- \ do wysyłania SIGQUIT. Aby go użyć, wyłącz funkcję tty za pomocą
stty quit undef
i powiąż go jako klucz prefiksu. Jest to trochę ryzykowne, ponieważ jeśli naciśniesz C- \ na tty, gdzie klawisz wyjścia nie został wyłączony za pomocą stty , możesz zabić proces pierwszego planu zamiast aktywować screen .Jakiś czas temu przełączyłem się na tmux . Domyślnie jest to Cb, ponieważ zostało opracowane pod ekranem i nie koliduje z domyślnymi ustawieniami ekranu . Przekonałem się, że Cb działa dla mnie całkiem dobrze (zwykle używam klawiszy strzałek do przemieszczania pojedynczych znaków w linii poleceń powłoki - chociaż używam Mb i Mf do poruszania się po słowach).
Nawiasem mówiąc, autor tmux używa Ca w swoich sesjach podstawowych i zawsze pisze Ca dwa razy (czy to w sesji tmux, czy nie). Jeśli zechcesz przyjąć ten nawyk, wydaje się, że to dobry kompromis, ponieważ drugi Ca powinien być opcją w większości kontekstów edytorskich podobnych do Emacsa. Nie zadziałałoby to, jeśli często używasz programów / kontekstów poza ekranem, gdzie drugi Ca nie byłby opcją.
Domyślnie Ca Ca jest powiązane z drugim poleceniem (przełącz na ostatnio aktywny ekran) na ekranie . Aby Ca Ca wysłał rzeczywisty Ca i miał przełączać okna Ca o, umieść w swoim
.screenrc
:źródło
Nie ma potrzeby obejścia tego problemu.
Aby przejść na początek linii podczas korzystania z screena w bash, użyj
Control- A(zwolnij, a następnie)A
Ogólnie, jeśli występuje konflikt znaków kontrolnych ekranu ze skrótem bash, pierwszy skrót bash Controlzostanie zastąpiony przez Control-A
Podobnie w przypadku innych skrótów edycji linii.
źródło
Używam C- \ do ekranu i nie mogę go wystarczająco polecić. Możesz uderzyć dowolną inną kluczową definicją w razie wypadku, ale ogólnie nie C- \. To mi się podoba.
źródło
Używam tego .
screenrc
Przykład: Aby odłączyć, wpisz
ctrl-b d
źródło
Używam ctrl-_ (który może być również produkowany przez ctrl + 7 i zwykle ctrl + /) z screen / tmux.
źródło
Używam ctrl-z przez większość czasu, ale także używam ctrl-x dla niektórych. Nie używam tak często przerwania „stop”, ale gdy jest to potrzebne, mogę wpisać ^ zz. Pozwala mi to również rozpocząć sesje dodatkowego ekranu na zdalnych serwerach, które używają domyślnego ctrl-a. A jeśli rozpocznę trzecią sesję (na trzecim serwerze), mogę użyć ctrl-x. Ctrl-x to funkcja blokady ekranu, która w wielu środowiskach nie jest taka jak zwykle (ponieważ ekran często działa w emulatorze terminali).
źródło