Właśnie zacząłem używać tmux i bardzo mi się podoba, ale muszę mieć możliwość przewijania w buforach / oknach / oknach, które mam otwarte. Nie obchodzi mnie, czy to działa z myszą, czy nie. Kiedy przeszukuję stronę podręcznika tmux, widzę tylko dwa wystąpienia słowa „przewiń”, które się nawet pokazują, i oba mają związek z trybem kopiowania. Czy istnieje sposób na przewijanie bez całego nakładu związanego z wejściem w tryb kopiowania?
1292
copy-mode
to sposób przeglądania historii (i opcjonalnie kopiowania z niej rzeczy).set -g mode-mouse on
Odpowiedź per @ chaiyachaiya była dla mnie zwycięzcąOdpowiedzi:
Ctrl- bwtedy [możesz używać normalnych klawiszy nawigacyjnych do przewijania (np. Up Arrowlub PgDn). Naciśnij, qaby wyjść z trybu przewijania.
Możesz też nacisnąć przycisk Ctrl-, b PgUpaby przejść bezpośrednio do trybu kopiowania i przewinąć o jedną stronę w górę (tak to wygląda na większość czasu)
W
vi
trybie (patrz poniżej) możesz także przewijać stronę w górę / w dół linia po linii za pomocą Shift- ki Shift- j(jeśli jesteś już w trybie przewijania). Nie przesunięty kursor przesuwa się zamiast strony.Fragmenty strony man :
Plus kilka innych. Pamiętaj, że musisz nacisnąć
C-b
dwa razy, jeśli używasz go do przewijania strony w górę, ponieważC-b
jest on związany jako klawisz polecenia. Zobacz stronę podręcznika, aby uzyskać informacje na temat zastępowania polecenia trybu kopiowania powtórzeniem.Możesz ustawić tryb przypisywania klawiszy za pomocą Ctrl- b, a następnie
lub
vi
.źródło
C-b =
jestchoose-buffer
domyślnie. Miałeś na myśliC-b [
(który jestcopy-mode
domyślnie)? Możesz także użyćC-b PageUp
do uruchomienia trybu kopiowania bezpośrednio na poprzedniej stronie (bardzo przydatne, gdy wiesz, że to, co chcesz wyświetlić / skopiować, przewinęło już bieżącą stronę).C-b [
do trybu kopiowania, a następnie przewijać klawisze emacs lub vi. Wydaje się, że to tylko kilka kroków do przewinięcia, ale zalety tmux wciąż przewyższają te irytacje. Jestem na komputerze Macbook i nie ma klucza PageUp: - \. (Poza tym, jak zrobić klucze ze zniżką, tak jak ty, Dennis?)<kbd>Ctrl</kbd>
Cóż, powinieneś rozważyć właściwy sposób ustawiania przewijania: dodaj swój
tmux.conf
lub
Działa dla mnie w oknach i oknach. Teraz tmux jest po prostu idealny.
Praktyczny tmux ma więcej informacji na temat plików tmux.conf.
źródło
q
aby wyjść z trybu przewijania.set -g mouse on
, a przewijanie nie wchodzi automatycznie w tryb kopiowania, jak to miało miejsce wcześniej.Z mojego .tmux.conf:
Umożliwia to natywne przewijanie Xterm.
źródło
W przypadku najnowszego tmux 2.1, aby przewijać myszą zdrowo, jest to właściwa odpowiedź:
nie wystarczy po prostu ponownie załadować .tmux.conf, musisz ponownie uruchomić tmux, np
tmux kill-server && tmux
zaczerpnięte z https://github.com/tmux/tmux/issues/145
źródło
Shift+click
gdy masz włączony tryb myszy.W moim przypadku po prostu opt+ UpArrowi opt+ DownArroww OSX.
źródło
tmux
może być również używany w systemie OS X.W ten sposób sprawiłem, że działało, i powody, dla których uważam, że jest lepszy niż domyślny.
Aby to wypróbować, wstaw wszystkie sekcje kodu
~/.tmux.conf
.Krok 1. Zmień klucz prefiksu, abyś nie musiał sięgać ani jednego bitu. „B” jest pozornie bliskim klawiszem, ale znajduje się pośrodku dwóch palców wskazujących (odpowiednio w „F” i „J”). Ponieważ ten skrót jest niezbędny w tmux, Cj jest znacznie lepszy, ponieważ wymaga zerowego ruchu ręki (oprócz naciśnięcia klawisza).
Krok 2. „S” (aby wejść w tryb kopiowania) to: 1) zamknij (z tego samego powodu co powyżej), 2) dotyczy drugiej ręki (porównaj: 1-2 w boksie lub
ls
polecenie przeglądania plików w katalogu ) i 3) można uznać za mnemoniczny dla „przewijania” (chociaż tryb kopiowania nie polega tylko na przewijaniu).Krok 3. Ostatnia część, rzeczywiste przewijanie. „P” i „N” są znane w tym celu użytkownikom Emacsa. Są bliskie, intuicyjne („P” jest powyżej „N” na klawiaturze) i mnemoniczne („poprzednie” i „następne”). Jeśli po prostu wykonałeś przewijanie w Emacsie, a następnie przejdziesz do tmux, sensowne jest posiadanie tych skrótów.
Odkryłem jednak, że „I” i „K” są jeszcze lepsze - są nawet bliższe niż „P” i „N” oraz intuicyjne (z tego samego powodu); jeśli chodzi o mnemoniki - ponieważ przewijanie jest tak powszechną rzeczą, mnemoniki tak naprawdę nie mają znaczenia, ponieważ skróty wkrótce ominą twój mózg i wejdą w pamięć mięśni.
źródło
Dużo szukałem tego i najlepsze rozwiązanie dla mnie działa, jak wspomniano w tym szczegółowym przewodniku: http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/
Dodaj te wiązania w ~ / .tmux.conf:
Po wdrożeniu powyższego podejścia możesz również kopiować z paneli w oknie, najpierw powiększając każdy panel za pomocą Prefiksu + .
Jednym ważnym szczegółem, którego brakowało w trybie myszy, jest naciśnięcie Shift przed wybraniem obszaru do skopiowania. Spowoduje to skopiowanie go do tradycyjnego bufora terminala zamiast bufora kopiowania tmux. ( https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues )
źródło
Polecam wypróbowanie wtyczki trybu tmux-better-mouse, aby rozwiązać większość problemów związanych z myszą tmux.
Jest kompatybilny z Tmux 2.1+ i nowym
set-option -g mouse on
podejściem.źródło
scroll-without-changing-pane
w połączeniu zscroll-without-changing-pane
iemulate-scroll-for-no-mouse-alternate-buffer
. Teraz moje korzystanie z Tmux jest znacznie lepsze.Jedyną rzeczą, która działa dla mnie, jest umieszczenie następujących
~/.tmux.conf
(może być konieczne ponowne uruchomienie komputera, aby to zadziałało)
Aktualizacja:
Odkryłem, że jeśli zmienisz ustawienie w Putty Connection> Data> Terminal-type na „putty” (służy do naprawy niektórych problemów z formatowaniem) z „xterm”, to rozwiązanie przestanie działać.
Aktualizacja 2:
Użyj tego, jeśli chcesz „kit” jako typ terminala:
set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"
źródło
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
To działało dla mnie:
źródło
set -g mouse on
FWIW, na Macbooku / OSX Mojave, po
ctrl+[
:up arrow
dla składudown arrow
dla linii w dółfn + up arrow
na stronę w góręfn + down arrow
na stronę w dółźródło
Jedyną rzeczą, która działała dla mnie, był vim ~ / .tmux.conf set -g mode-mouse na ### Wstaw to ustawienie za pomocą vim, a następnie źródłowy plik. Plik źródłowy tmux ~ / .tmux.conf
źródło
źródło
Ctrl-B
(Ctrl-A
jest domyślna dla ekranu GNU).