Chciałbym móc przewijać w górę / w dół do danego panelu z tym samym skrótem klawiszowym, co xterm, tj. SHIFT + Page Up / Down.
Na przykład, jeśli okno tmux jest podzielone na 2 pionowe panele, mógłbym przewijać jeden z nich za pomocą klawiatury, podczas gdy drugi nie przewija się.
Czy to możliwe ?
Oto mój tmux.conf:
set -g status off
set -g prefix C-o
unbind C-b
bind C-o send-prefix
# settings -------------------------------------------------------------
setw -g utf8 on
setw -g xterm-keys on
set -g default-terminal "screen-256color"
set-option -g set-titles on
set-option -g set-titles-string '[#S:#I #H] #W'
# auto-set window title
setw -g automatic-rename
setw -g aggressive-resize on
# vim keybinds
set-option -g status-keys vi
set-window-option -g mode-keys vi
# scroll inside the current pane
#bind-key k page-up
#bind-key l page-down
# mouse
set -g mode-mouse on
setw -g mouse-select-window on
setw -g mouse-select-pane on
# scrollback buffer n lines
set -g history-limit 100000
# fixes shift-pageup/shift-pagedown
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
set -g visual-activity on
# faster key repetition
set -s escape-time 0
# activity alert
setw -g monitor-activity on
set -g visual-activity on
# alt+directions navigates through panes
bind-key -n M-left select-pane -L
bind-key -n M-right select-pane -R
bind-key -n M-up select-pane -U
bind-key -n M-down select-pane -D
źródło
bind -n Pageup copy-mode -u
pozwala mi naciskać PgUp, aby przejść do trybu kopiowania i przewijać w górę, nie mogę jednak używać PgUp do przewijania w górę.Tak, wiem, że to pytanie jest stare, ale nie jest tak daleko w wynikach Google i spędziłem dużo czasu, aby dowiedzieć się, jak to zrobić po prostu dlatego, że prawie żaden wynik google nie zawierał odpowiedzi, tylko pytania.
AFAIK przewija tylko jedno okienko w trybie kopiowania. Aby przejść do trybu kopiowania, możesz użyć,
prefix-[
a następnie przewinąć za pomocąC-up
iC-down
lub możesz ustawić własne skróty klawiszowe (w pliku konfiguracyjnym), które w trybie emacsa wyglądają następująco:Spowoduje to ustawienie kombinacji klawiszy Shift+ PageUpi Shift+ w PageDowncelu przewinięcia odpowiednio połowy strony w górę w trybie kopiowania . Kiedy używasz trybu vi, musisz zmienić go na coś takiego:
Teraz, jeśli chcesz przejść do trybu kopiowania „automatycznie” i nie chcesz go używać,
prefix-[
możesz dodać następujący wiersz do pliku konfiguracyjnego:Spowoduje to otwarcie trybu kopiowania i przewinięcie (pełnej) strony w górę po naciśnięciu Shift+ PageUpw trybie edycji (tryb domyślny). Aby otworzyć tylko tryb kopiowania bez przewijania strony, po prostu pomiń
-u
. A jeśli chcesz, aby przewijać całą stronę w górę / w dół lub po prostu linia można użyć słów kluczowychpage-up
,scroll-up
lub jeden korzystania z poleceńaby zobaczyć pełną listę opcji do użycia i domyślnych skrótów klawiszowych.
źródło
tmux
którą uruchamiam, czy nie, ale-t
parametr nie jest rozpoznawany (jednak działa -T). Możliwe literówki?-n
, ponieważ jest to skrót do-T root
Oto rozwiązanie, które powinno działać z pamięcią mięśniową, pozwalając na użycie Shift+ PageUpi Shift+ PageDowntak jak w normalnym terminalu.
Jeśli używasz Vima, musisz warunkowo włączyć to wiązanie, bo może to popsuć rzeczy podczas używania PageUpitp. W vimie wewnątrz tmux.
(Dzięki rozwiązaniu @ mjwhitta, które to udoskonala)
źródło
bind -n Pageup if-shell "$is_vim" "send-keys Pageup" "copy-mode -u; send-keys Pageup"
było wymagane, aby Pageup kontynuował przewijanie w górę po wielu naciśnięciach.