Przewijanie na komputerze Mac z Tmux i iTerm

16

Używam iTerm 2.1.4 i Tmux na OS X Yosemite. Chciałbym móc przewijać okna iTerm w górę i w dół, ale nie jestem pewien, jakie elementy sterują przewijaniem. Czy tmux kontroluje przewijanie, gdy korzystam z niego z iTerm, czy iTerm nadal kontroluje przewijanie?

Próbowałem używać różnych klawiszy, które mają przewijać iTerm, ale wszystko, co dostaję, to znaki „~~~~~” w wierszu poleceń. Jak przewijać w tej konfiguracji?

Promień
źródło

Odpowiedzi:

31

Przewijanie Tmux różni się nieco od przewijania za pomocą kółka myszy lub gładzika.

W tmux przewijanie odbywa się poprzez wysłanie „prefiksu- [”. Zobaczysz małe żółte pole w prawym górnym rogu okna terminala.

W tym trybie możesz używać klawiszy strzałek, PageUp, PageDown, Ctrl-U, Ctrl-D, hjkl (tryb vi) lub innych konfigurowalnych klawiszy ruchu, aby przewijać bufor do przodu lub do tyłu.

Istnieje stosunkowo nowa wersja tmux, która pozwala używać myszy w trybie przewijania.

dodaj to do swojego .tmux.conf

set-option -g mouse on

Dodatkowo, jeśli pamięć służy, tmux jest „wbudowany” w iTerm, a zatem funkcje takie jak multipleksowanie są również wbudowane. Czy istnieje powód, dla którego chcesz używać tmux w iTerm? Wbudowany terminal OSX jest zdecydowanie ulepszony przez multiplekser taki jak tmux, ale iTerm stara się złagodzić te niedociągnięcia, będąc samodzielnym rozwiązaniem.

EDYCJA 1: Po aktualizacji do El Capitan zauważyłem pewne nieznane zachowanie podczas korzystania z Terminal.app i tmux. Doprowadziło mnie to do doskonałych opcji opisujących artykuły, których nie znałem i które starają się odpowiedzieć na twoje pytanie dokładniej, niż mogłem się spodziewać. Wszystkie opcje są specyficzne dla tmux, o ile mogę powiedzieć, i są niezależne od wersji OSX, więc używanie ich w Yosemite powinno być w porządku. Twoje przewijane pytanie jest objęte tutaj, z opcjami takimi jak:

bind-key -t vi-copy WheelUpPane scroll-up
bind-key -t vi-copy WheelDownPane scroll-down

Wiele bardziej przydatnych opcji w artykule, do którego link znajduje się poniżej.

https://ryanfb.github.io/etc/2015/10/19/tmux_mouse_mode_on_el_capitan.html

notdavidcronenberg
źródło
3
Link udostępniony na dole tej odpowiedzi jest doskonały, ale teraz nieco nieaktualny. Aby osiągnąć swój cel, musisz również przeczytać to: github.com/tmux/tmux/issues/754#issuecomment-297452143
John Ruiz
Nie działa dla mnie na wysokiej sierra
Ulysse BN
działa w iterm2 przy użyciu tmux, ale miesza się w terminalu. aplikacja z przewijaniem w vimie przestaje działać, a następnie kopiowanie wklejenia staje się dziwniejsze
Ishan Srivastava
1

Znalazłem następujące sposoby radzenia sobie z tym problemem (macOS Mojave):

  • Włącz tryb przewijania tmux, a następnie naciśnij klawisz strzałki w górę; iTerm wyświetla monit o ustawienie wyżej wymienionych preferencji przewijania. Ale w przypadku pominięcia / odrzucenia tego monitu, myślę, że nie zostanie ponownie wyświetlony monit.

  • Przejdź do ustawień iTerm -> „Zaawansowane” -> „Kółko przewijania wysyła klawisze strzałek w trybie alternatywnego ekranu” -> ustaw na „tak”.

everyonesdesign
źródło