Czy przewijanie w TMUX się blokuje? Oto skuteczne rozwiązania

Tmux (nazwa pochodzi od Terminal Multiplexer ) to jeden z najlepszych open - source'owych multiplikatorów terminala/powłoki dla systemów operacyjnych opartych na systemie Unix (takich jak dystrybucje Linuksa, Mac itp.). Tmux umożliwia jednoczesny dostęp do wielu sesji terminala w jednym oknie. Jest to bardzo przydatne do jednoczesnego uruchamiania więcej niż jednego skryptu/programu wiersza poleceń.

Jednak ze względu na jednoczesne działanie wielu okien, niektórzy użytkownicy mają trudności z przewijaniem w górę w oknach terminala (zarówno za pomocą klawiatury, jak i myszy). Problem ten pogłębia się wraz z upowszechnieniem się systemów operacyjnych opartych na systemie Unix.

Ale nie martw się, użytkownik może łatwo przewijać w górę w Tmux, jak pokazano poniżej:

Włączanie i używanie trybu przewijania w Tmux

W Tmux możesz przewijać w górę i w dół za pomocą następujących narzędzi:

  1. naciśnij mój klawisz Ctrl + B Następnie klucz [.
  2. Teraz użyj Standardowe klawisze nawigacyjne Na klawiaturze możesz poruszać się po interfejsie Tmux za pomocą klawiszy takich jak strzałka w górę/strzałka w dół, Page Up, Page Down itd.

Po zakończeniu przewijania użytkownik może wyjść z trybu przewijania w Tmux, naciskając klawisz Q. Jeśli to nie zadziała zgodnie z oczekiwaniami, sprawdź, czy użycie klawisza F7 do wejścia w tryb przewijania i klawisza Q do wyjścia rozwiązuje problem.

Włącz i użyj trybu kopiowania

  1. naciśnij mój klawisz Ctrl + B Następnie klucz Pgup.
  2. Teraz terminal przejdzie o jedną stronę wyżej bezpośrednio w Tmux i sprawdzi, czy spełnia ona Twoje wymagania.

Korzystanie z trybu VI

Jeśli Tmux jest sterowany przez podłączonego klienta , nazywa się to trybem VI. W trybie VI możesz używać kombinacji klawiszy Shift + K i Shift + J do nawigacji linia po linii w interfejsie Tmux (jeśli jesteś w trybie przewijania); w przeciwnym razie kursor będzie się przesuwał tylko po naciśnięciu tych klawiszy. Dodatkowo, możesz nacisnąć klawisz CB dwa razy , aby przewinąć stronę w górę, i klawisz CF dwa razy, aby przewinąć stronę w dół w Tmux.

Edytuj plik Tmux.Config

Dla niektórych zaawansowanych użytkowników opisane powyżej metody mogą okazać się niewystarczające. W takim przypadku modyfikacja pliku Tmux.config może rozwiązać problem (jak opisano poniżej). Plik Tmux.config można otworzyć, uruchamiając polecenie vim ~/.tmux.config w terminalu.

Włącz przewijanie myszą

  1. Dodać kwestia Następny Dla mnie Pliki Tmux.config Według wersji Tmux:
    W przypadku wersji Tmux 2.1 i nowszych: ustaw -g mouse on. W przypadku wersji Tmux starszych niż 2.1: ustaw -g mode-mouse on.
  2. Teraz sprawdź czy przewijanie myszką działa prawidłowo.

Pamiętaj, że możesz nacisnąć klawisz Q , aby wyjść z trybu przewijania. Aby skopiować zawartość z terminala, możesz użyć kombinacji klawiszy Shift i lewego przycisku myszy, aby wykonać operację kopiowania.

Włącz przewijanie myszą z przypisanym klawiszem:

  1. Dodać Poniższe wiersze dotyczą pliku Config:
    ustaw -g mouse on # Przewijanie logiczne: bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"
  2. ال Zakończ operacje Tmux Wykonując następujące polecenie:
    tmux zabij-serwer && tmux
  3. Następnie uruchom Tmux i sprawdź, czy przewijanie działa zgodnie z oczekiwaniami.

Pamiętaj, że jeśli chcesz skopiować element w trybie myszy Tmux, możesz użyć klawisza Shift i lewego przycisku myszy, aby skopiować zawartość.

Jeśli to nie pomoże, sprawdź, czy dodanie poniższego kodu do pliku Tmux.config rozwiąże problem:

ustaw -g mysz przy wiązaniu -n WheelUpPane { jeśli -F '#{==:#{nazwa_okna},nvim}' { wyślij-klawisze -M } { tryb-kopiowania -e } }

Włącz domyślne przewijanie dla Xterm

  1. Dodać Poniższe wiersze dotyczą pliku Tmux.config:
    # Logiczne przejście ustaw -g terminal-overrides 'xterm*:smcup@:rmcup@'
  2. Teraz sprawdź czy przepustka Tmux spełnia Twoje oczekiwania.

Jeśli to nie pomoże, sprawdź, czy dodanie poniższego kodu do pliku ustawień Tmux spowoduje pożądane zachowanie (może się jednak okazać, że później konieczne będzie ponowne uruchomienie systemu):

# Zezwól na adresy Xterm w oknie terminala, przewijanie w terminalu za pomocą paska przewijania i ustaw nadpisania dla C-Up, C-Down, C-Left, C-Right set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=eOA:kDN5=eOB:kLFT5=eOD:kRIT5=eOC"

Należy jednak pamiętać, że jeśli zmienisz typ terminala na Putty , powyższy kod może nie działać. Jeśli musisz użyć Putty, możesz dodać następujący kod do pliku ustawień Tmux:

ustaw -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=eOA:kDN5=eOB:kLFT5=eOD:kRIT5=eOC"

Jeśli to nie pomoże, sprawdź, czy dodanie poniższego kodu do pliku konfiguracyjnego rozwiąże problem:

ustaw -ga terminal-overrides ',xterm*:smcup@:rmcup@'

Dla użytkowników systemu macOS Mojave i nowszych wersji

Na komputerze Mac z systemem macOS X lub nowszym wystarczy użyć kombinacji klawiszy Option + Strzałka w górę , aby przewijać w górę, i Option + Strzałka w dół, aby przewijać w dół.

Jeżeli to nie pomoże, wejdź w tryb kopiowania , naciskając poniższy przycisk:

ctrl + b + [

Następnie, aby przewinąć wiersz w górę lub w dół, użyj klawiszy strzałek w górę lub w dół . Aby przewinąć stronę w górę lub w dół , użyj kombinacji klawiszy Fn + strzałka w górę lub Fn + strzałka w dół . Aby wyjść z trybu, wystarczy nacisnąć klawisz Q.

Spróbuj dodać oprogramowanie

Jeśli żadna z powyższych metod nie działa tak, jak oczekiwałeś, być może Twoje wymagania spełni dodatek programowy, np. Tmux-Better-Mouse-Mode .

 

Możliwość dodawania komentarzy nie jest dostępna.