Ekran idzie w parze z Ctrl+ A. Z drugiej strony tmux - jak rozwinięto w ekranie - używa Ctrl+ B. Oba naciśnięcia klawiszy są jednak również używane w edytorach, powłokach itp. Zatem wybór jednego z nich obniża komfort użytkowania i funkcjonalność tych narzędzi, gdy są używane w tmuxie lub ekranie.
Jaki prefiks najmniej koliduje z skrótami klawiszowymi innych programów i powłok?
gnu-screen
hotkeys
tmux
Scott
źródło
źródło
~/.tmux.conf
nie zapomnij zrestartować serwera tmux, aby zmiany odniosły skutek ( superuser.com/q/188491/105108 ).Odpowiedzi:
Myślę, że
^\
(aka^|
) jest najlepszy, jeśli jest w dogodnej pozycji na układzie klawiatury. Jego zastosowania w innych programach są dość rzadkie:SIGQUIT
do procesu^C
przechwytywaniatoggle-input-method
w emacsNie znam żadnych innych zastosowań. Uważaj, aby przypadkowo nie zabić procesów poza
tmux
lubscreen
po przyzwyczajeniu się do nich. Ale zdarzyło mi się to tylko raz na kilka lat.~/.tmux.conf
~/.screenrc
źródło
C-`. Can I escape the
znaku `?'C-\'
zamiast `C- \` w konfiguracji tmux.Dla osób, które chcą użyć backsticka jako ucieczki w tmux, możesz dodać:
Ten ostatni jest ważny, w przeciwnym razie nie możesz wpisać backsticka do innych celów :-)
źródło
$()
w powłokach. To także staje się bólem, kiedy zaczniesz pisać dużo Markdown. Używam go od kilku lat, ale niestety muszę go teraz zmienić.bind-key C-a set-option -g prefix C-a
. Ilekroć muszę używać backsicków, uderzam,`-Ctrl-a
co ustawia mój prefiks naC-a
. I mam,bind-key C-b set-option -g prefix `
więc mogę uderzyć,C-a-C-b
by wrócićCtrl + A powoduje również problemy z Emacsem, w tym Bash w trybie Emacsa. Wygląda na to, że nie stanowi to dla ciebie problemu.
Ctrl + O to inna opcja, którą widziałem. Wygląda na to, że jest to ustawienie domyślne w RatPoison (jest to menedżer okien X, który nie potrzebuje myszy). Użyłem Ctrl + O podczas korzystania z zagnieżdżonych ekranów: Ctrl + O dla zewnętrznego i Ctrl + A dla wewnętrznych. Działało dobrze, ale trochę przestraszyło moich kolegów. :-)
Myślałem tylko i jeśli używasz vi zamiast Emacsa, istnieje kilka alternatyw. Ctrl + G nie jest na przykład używany.
źródło
set -g prefix2 C-j; bind-key C-j send-prefix -2
C-j
konflikty z CtrlP. Przesuwanie w górę iw dół listy bufora używaC-k
iC-j
odpowiednioMam
CAPS-LOCK
globalnie zmapowany doESC
. Następnie używamM-Space
(tj.CAPS-LOCK
+Space
) Dla mojego prefiksu.źródło
CAPS-LOCK
(myśląc o następnym poleceniu lub czymś innym) tmux - lub iTerm, nie jestem pewien, co to powoduje - otrzymaESC
polecenie, które powoduje,M-Space
że nie działa. Czy istnieje sposób na wyłączenie tego powtarzającego się kluczowego problemu? Na przykład działa, gdy szybko naciskamCAPS-LOCK + Space
, ale nie, jeśli przytrzymujęCAPS-LOCK
przez około sekundę, a następnie naciśnięcieSpace
nie rejestrujeM-Space
akordu ...Używam złożonego systemu do ekranu. Moja domyślna ucieczka jest ustawiona na \ 140 \ 140, co jest wsteczne. Ctrl-A komplikuje zarówno Emacsa, jak i edycję wiersza poleceń dla mnie w Zsh, a ja nie lubię Ctrl-O (operacje 2 rękami dla większości akcji na ekranie).
Ponownie wiążę „s” z ekranem 1, aby nowe sesje były tworzone od lewej do prawej na klawiaturze, zaczynając od 1. To pozwala mi zarezerwować ekran 0 dla tego, co uważam za trwałe lub okno odniesienia. Jest to bardzo szybki gest jedną ręką na (backtick) 1, (backtick) 2, (backtick) 3, aby przełączać się między oknami.
Problem z użyciem backticka w środowisku uniksowym polega na próbie wycinania i wklejania kodu skryptu shell / perl. Z tego powodu łączę klawisz F11 / F12, aby przełączać się między znakiem ucieczki.
Spowoduje to zamianę przejścia do Ctrl-O, gdy wykonuję operacje wycinania i wklejania. Odkryłem, że uderzenie podwójnym tikiem jest proste i stanowi dobrą kompromis dla większości operacji na ekranie.
Powtórzenie tej odpowiedzi za pomocą nowszego rozwiązania, które pozwala przełączać tryb, naciskając klawisz F12 i używając podpisu, aby wskazać tryb.
źródło
Używam
Ctrl-Q
wtmux
i to działa dobrze. Muszę jednak wspomnieć, że jest to sprzeczne z kontrolą przepływu powłoki. DomyślnieCtrl-Q
służy do ponownego włączenia wyjścia po zatrzymaniu goCtrl-S
. Zaskoczony zablokowaną skorupą kilka razy po przypadkowym trafieniuCtrl-S
, nauczyłem się nie naciskaćCtrl-S
.(Można również całkowicie wyłączyć kontrolę przepływu
stty -ixon
lub przypisać różne klawisze dostty start
istty stop
.)źródło
quote-inserted
. Przykładowe użycie (w emacs): jeśli chcę wyszukać znak następnej karty -<Ctrl-s>+<Ctrl-q>+<TAB>
Lubię rezerwować
^Space
dla bardzo specjalnych / typowych operacji, ponieważ uważam, że jest to najłatwiejszy do wpisania przedrostek, ale teraz próbuję go zmapować jakoprefix
in tmux .Twoje palce mogą od razu przejść do polecenia, które chcesz wpisać. Spróbuj.
źródło
set -g prefix2 C-j; bind-key C-j send-prefix -2
Spóźniona sugestia:
ctrl-s
.ctrl-s
ma wiele zalet:ctrl-a
(w rzeczywistości dla większości maszyn używa dwóch tych samych palców, z których korzystalictrl-a
), więc zmiana pamięci mięśni zctrl-a
nactrl-s
jest banalna - dla mnie stała się drugą naturą w ciągu około godziny od pierwszego wypróbowania.ctrl-a
dla operacji typu „powrót do początku linii” w stylu emacsa lub operacji „liczby przyrostowej” w stylu vima. Lub hej, do uruchamiania ekranu w panelu tmux bez konieczności martwienia się o ucieczkę przedrostków w celu sterowania instancją osadzonego ekranu. (Często robię to za pomocą lokalnego tmuxa z panelami zawierającymi sesje ssh na zdalnych serwerach, na których uruchamiam screen)Oczywiście powodem, dla którego nic nie jest na ctrl-s, jest to, że w terminalu tradycyjnie jest używany do kontroli przepływu, sięgający czasów sprzed narzędzi stronicowania, takich jak
more
iless
były powszechne. Jestem pewien, że jakiś program terminalowy GUI gdzieś nadal ma domyślnie włączoną funkcję kontroli przepływu, ale tak naprawdę nie wpadłem na nią; programy w terminalach GUI, które wypróbowałem, wydają się całkowicie domyślnie ignorować, co sprawia, że ta wygodna kombinacja klawiszy jest dostępna dla bardziej produktywnych zastosowań.Więc jeśli tak naprawdę nie używasz screen / tmux z (na przykład) surowego terminala Linuksa, ale raczej z terminala opartego na GUI, to polecam
ctrl-s
spróbować; zipowanie w tmuxie i ekranie jest dla mnie o wiele wygodniejsze.źródło
Kluczem bez konfliktu może być C-z, ponieważ zwykle jest używany do wysyłania programu do tła, aby kontynuować kolejną czynność w powłoce, która go uruchomiła. Nie robię tego, gdy mam tmux.
źródło
fg
dużo biegać po błędnym wpisaniu Cz.Słyszałem o używaniu `(backtick), a następnie musisz go wpisać dwa razy, aby uzyskać prawdziwy backtick. Może być lepszy dla użytkowników vi, którzy są przyzwyczajeni do tej akcji (chyba że wykonasz funkcję Caps Lock).
źródło
'; bind '
' send-prefix; patrz odpowiedź Darrena Halla powyżej.Polecam
C-j
, co nie koliduje z vi ani emacsem. Zasadniczo zgadzam się z komentarzem Susam Pal, który wydaje się godny przedstawienia się jako odpowiedź, ponieważ wszyscy inni wydają się mieć znaczące konflikty z mojej perspektywy.źródło
W przypadku układu klawiatury programisty Dvorak całkiem fajnie jest używać klawisza minus (myślnika) jako prefiksu, tj .
ctrl
+-
.Klawisz minus znajduje się na pozycji klucza pojedynczego cudzysłowu w układzie qwerty. Mam również klawisz Caps Lock jako klawisz Ctrl. Oto conf tmux, aby ustawić go jako prefiks:
Można się zastanawiać, dlaczego zamiast znaku minus stosuje się podkreślenie? Odwołaj się do Tmux: jak połączyć się z C— (kontrola-minus)?
W przypadku qwerty możesz zastosować Jak powiązać klucz prefiksu tmux z C-? rozwiązanie, aby zachować ten sam skrót.
Powiedziałbym, że jest to idealny prefiks, jeśli używasz Vim / Neovim. Ponieważ prefiksy, takie jak
ctrl
+a
lubctrl
+b
, powodują cień (nakładają się) na funkcjonalność Vima, w dowolny sposób.źródło
Osobiście
b
jestCtrl
dla mnie zbyt daleko . Kiedy używam tmux, zawsze zmieniam wiązanie z Cb na Ca. Głównym konfliktem z Ca jest wybranie wszystkich, ale nie znalazłem problemu z programami, z którymi korzystam z tmux.źródło
Jako użytkownik GNU emacs, zsh i MS Windows używam Control-T. (np. w .screenrc :)
Tak, Control-T ma coś z tym związane, jak rozwijane menu w umiejętnościach Ubuntu lub transponowanie postaci w Emacsie.
Zlekceważyłem Co, ponieważ wymaga to dla mnie dwóch rąk.
źródło
Myślę, że najlepszym rozwiązaniem jest ^ C. Emacs używa ^ C jako klucza prefiksu i stwierdzam, że kiedy muszę wpisać ^ C w powłoce, prawie zawsze i tak wpisuję dwa. :-)
źródło
Używam Caps Lock, a na OSX musisz zrobić specjalne rzeczy, aby to zadziałało.
https://gist.github.com/burtlo/3788048
źródło
Możesz użyć wstecznego. Niektóre starsze wersje tmux nie obsługują funkcji backtick, więc możesz wykonać następujące czynności w celu obejścia problemu (spowoduje to dodanie C-`, C- @ i C-space jako meta jednocześnie):
Zwykle zmieniam mapowanie CapsLock na Ctrl, więc ma to jeszcze większy sens z backstick.
źródło
Większość odpowiedzi tutaj używa Ctrl jako części kombinacji klawiszy.
Kiedy użyłem Ctrl, mój mały palec zaczął boleć, ponieważ zawsze musiałem rozłożyć go na Ctrl.
Używam tego,
Alt-j
co piszę lewym kciukiem i prawym palcem wskazującym, i jest to bardzo wygodne. Do tej pory nie znalazłem też żadnych kolizji z żadnym innym programem.źródło
W przypadku ekranu GNU, odwzorowując lewy przycisk ucieczki, dla mnie działa to w ~ / .screenrc.
źródło
Podoba mi się sugestia wiązania ctrl- \ jako przedrostka , ale aby to działało na Linux Mint 12, musiałem uciec z miejsca wiązania na dole. W przeciwnym razie nie zajmie to. Zobacz mój .tmux.conf tutaj: Używanie tmux z emacsem i vimem
źródło
Myślę, że użytkownicy komputerów Mac będą
§
wygodniejsi niż backtick.Na klawiaturze innej niż Mac , backstick jest ustawiony mniej więcej na tym samym klawiszu, co
§
na klawiaturach Mac. Tak więc, aby doświadczyć takiej samej wygody, jak osoby, które sugerują użycie strzałki wstecznej, użyj znaku akapitu na klawiaturze komputera Mac.Używanie strzałki w tył na klawiaturze Mac jest trudne, ponieważ znajduje się bardzo blisko lewego (⇧) shift, (⌃) kontroli i (⌥) Alt-klawisze. Na MacBookach nawet w pobliżu lewego
fn
klawisza.źródło