Ich möchte in der Lage sein, mit der gleichen Tastenkombination, die xterm verwendet, in einem bestimmten Bereich nach oben / unten zu scrollen, dh UMSCHALT + Bild nach oben / unten.
Wenn zum Beispiel das tmux-Fenster in zwei vertikale Fenster geteilt ist, könnte ich mit der Tastatur auf einem der beiden Fenster scrollen, während das andere nicht scrollen kann.
Ist es möglich ?
Hier ist meine 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
quelle
bind -n Pageup copy-mode -u
ich PgUp drücken kann, um in den Kopiermodus zu gelangen und einen Bildlauf nach oben durchzuführen, kann ich PgUp nicht verwenden, um weiter nach oben zu scrollen.Ja, ich weiß, dass diese Frage alt ist, aber es ist nicht so weit unten in den Google-Ergebnissen und ich habe einfach viel Zeit darauf verwendet, herauszufinden, wie es geht, weil fast kein Google-Ergebnis eine Antwort enthielt, sondern nur Fragen.
AFAIK Im Kopiermodus wird nur ein Bereich gescrollt. Gehen in den Kopiermodus können Sie verwenden ,
prefix-[
und blättern Sie dann mitC-up
undC-down
oder Sie können Ihre eigene keybindings gesetzt (in der Konfigurationsdatei) , die in Emacs-Modus sieht wie folgt aus :Dadurch werden die Tastenkombinationen Shift+ PageUpund Shift+ so eingestellt PageDown, dass im Kopiermodus eine halbe Seite nach oben bzw. unten gescrollt wird . Wenn Sie den vi-Modus verwenden, müssen Sie ihn folgendermaßen ändern:
Wenn Sie nun den Kopiermodus "automatisch" aktivieren und nicht verwenden möchten, können
prefix-[
Sie Ihrer Konfigurationsdatei die folgende Zeile hinzufügen:Dies würde den Kopiermodus öffnen und eine (vollständige) Seite nach oben scrollen, wenn Sie im Bearbeitungsmodus (Standardmodus) Shift+ drücken PageUp. Wenn Sie den Kopiermodus nur öffnen möchten, ohne bereits eine Seite hochzuscrollen, lassen Sie das Symbol einfach weg
-u
. Und wenn Sie eine ganze Seite , um nach oben / unten oder nur eine Zeile können Sie die Schlüsselwörter verwendenpage-up
,scroll-up
oder verwenden Sie einen der Befehleum eine vollständige Liste der zu verwendenden Optionen und Standard-Tastenkombinationen anzuzeigen.
quelle
tmux
ausgeführt wird oder nicht, aber der-t
Parameter wird nicht erkannt (-T funktioniert jedoch). Möglicher Tippfehler?-n
, da dies eine Abkürzung für-T root
Hier ist eine Lösung, die nur mit Ihrem Muskelgedächtnis funktionieren sollte und es Ihnen ermöglicht, Shift+ PageUpund Shift+ PageDownwie im normalen Terminal zu verwenden.
Wenn Sie Vim verwenden, müssen Sie diese Bindung unter bestimmten Bedingungen aktivieren, da dies bei der Verwendung von PageUpusw. in Vim innerhalb von tmux zu Problemen führt.
(Danke an @ mjwhitta's Lösung, die dies verfeinert)
quelle
bind -n Pageup if-shell "$is_vim" "send-keys Pageup" "copy-mode -u; send-keys Pageup"
wurde aber benötigt, um Pageup zu veranlassen, mehrmals nach oben zu scrollen.