2010-11-10 18:40:45 +0000 2010-11-10 18:40:45 +0000
1389

Hoe kan ik in tmux scrollen?

Ik ben net begonnen met het gebruik van tmux, en ik vind het erg leuk, maar ik moet wel kunnen scrollen binnen de buffers/ruiten/vensters die ik open heb staan. Het kan me niet schelen of het met de muis werkt of niet. Als ik de tmux man pagina doorzoek, vind ik slechts twee exemplaren van het woord "scroll" zelfs maar verschijnen, en beide hebben te maken met de kopieermodus. Is er een manier om te scrollen zonder alle overhead van het invoeren van de kopieermodus?

Antwoorden [12]

1685
2010-11-11 03:02:16 +0000

Ctrl-b dan [ dan kunt u uw normale navigatietoetsen gebruiken om rond te scrollen (bijv. Pijl omhoog of PgDn). Druk op q om de scrollmodus te verlaten.

Als alternatief kunt u op Ctrl-b PgUp drukken om direct naar de kopieermodus te gaan en een pagina omhoog te scrollen (dat klinkt alsof u meestal wilt)

In de vi-modus (zie hieronder) kunt u de pagina ook regel voor regel omhoog/omlaag scrollen met behulp van Shift-k en Shift-j (als u al in de scrollmodus bent). Ongewijzigd beweegt de cursor in plaats van de pagina.

Fragmenten uit de man pagina :

tmux kunnen worden aangestuurd vanuit een aangesloten client met behulp van een toetsencombinatie van een prefix toets, 'C-b' (Ctrl-b) standaard, gevolgd door een commando toets.

The default command key bindings are:

[ Enter copy mode to copy text or view the history.

Function vi emacs
-------- -- -----
Half page down C-d M-Down
Half page up C-u M-Up
Next page C-f Page down
Previous page C-b Page up
Scroll down C-Down or C-e C-Down
Scroll up C-Up or C-y C-Up
Search again n n
Search again in reverse N N
Search backward ? C-r
Search forward / C-s

Plus een bosje meer. Merk op dat je C-b twee keer moet indrukken als je dat gebruikt voor pagina omhoog, aangezien C-b gebonden is als de opdrachttoets. Zie de man pagina voor informatie over het vooraf instellen van een kopieermodus commando met een herhalingstelling.

U kunt de sleutel bindende modus instellen met behulp van Ctrl-b, dan

:set-window-option mode-keys emacs

of vi.

1685
335
2012-11-25 13:05:29 +0000

Nou, je moet overwegen de juiste manier om het scrollen in te stellen: voeg in je tmux.conf

set -g mouse on #For tmux version 2.1 and up

of

set -g mode-mouse on #For tmux versions < 2.1

Het werkte voor mij in ramen en ruiten. Nu is tmux gewoon perfect. Praktische tmux heeft meer info over tmux.conf bestanden.

335
147
2011-08-22 20:49:40 +0000

Van mijn .tmux.conf:

# Sane scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

Dit maakt native xterm scrolling mogelijk.

147
63
2015-12-01 16:09:27 +0000

Voor de nieuwste tmux 2.1, om met je muis te kunnen scrollen, is dit het juiste antwoord:

set -g mouse on
" sane scrolling:
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'"

het is niet genoeg om je .tmux.conf te herladen, je moet je tmux opnieuw opstarten, bv. tmux kill-server && tmux

uit https://github.com/tmux/tmux/issues/145

63
16
2015-04-17 03:43:47 +0000

In mijn geval, kies je gewoon + UpArrow en kies je + DownArrow op OSX.

16
12
2013-06-21 15:33:39 +0000

Dit is de manier waarop ik het heb laten werken, en de redenen waarom ik denk dat het beter is dan de standaard manier.

Om het uit te proberen, zet je alle code secties in ~/.tmux.conf.

Stap 1. Verander de prefix sleutel zodat je geen enkel bit hoeft te bereiken. B' is schijnbaar een close key, maar staat in het midden van de twee wijsvingers (bij 'F' en 'J', respectievelijk). Omdat die shortcut essentieel is in tmux, is C-j veel beter, omdat er geen handbeweging nodig is (behalve het aanslaan van de toets).

set -g prefix C-j
unbind C-b
bind C-j send-prefix

Stap 2. S' (om de kopieermodus in te voeren) is: 1) sluiten (dezelfde reden als hierboven), 2) betreft de andere hand (vergelijk: de 1-2 in boksen, of het ls commando om bestanden in een directory te bekijken), en 3) kan worden gezien als geheugensteun voor "scrollen" (hoewel de kopieermodus niet alleen over scrollen gaat).

bind s copy-mode

Stap 3. Het laatste deel, het eigenlijke scrollen. P' en 'N' zijn voor dit doel bekend bij de Emacs gebruikers. Ze zijn dichtbij, intuïtief ('P' staat boven 'N' op het toetsenbord), en mnemonisch ('vorige' en 'volgende'). Als je alleen maar wat scrollen in Emacs hebt gedaan, en dan naar tmux gaat, is het zinvol om die snelkoppelingen te hebben.

Maar ik vond dat 'I' en 'K' nog beter zijn - ze zijn nog dichterbij dan 'P' en 'N', en intuïtief (om dezelfde reden); als voor mnemonica - aangezien scrollen zo gewoon is, zullen mnemonica niet echt van belang zijn, omdat de snelkoppelingen je hersenen snel zullen omzeilen en het spiergeheugen zullen binnendringen.

bind -t emacs-copy 'p' scroll-up
bind -t emacs-copy 'n' scroll-down
bind -t emacs-copy 'i' scroll-up
bind -t emacs-copy 'k' scroll-down
12
8
2016-12-07 16:34:30 +0000

Ik raad aan om de tmux-better-muis-mode plugin te proberen om de meeste problemen met de tmuxmuis op te lossen.

Het is compatibel met Tmux 2.1+ en de nieuwe set-option -g mouse on-aanpak.

8
8
2016-03-31 00:42:33 +0000

Ik heb hier veel naar gezocht en de beste oplossing voor mij werkt zoals vermeld in deze gedetailleerde handleiding http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

Voeg deze bindingen toe in ~/.tmux. conf: ``` set -g mode-mouse on

unbind + bind + \ new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\ swap-pane -s tmux-zoom.0 \;\ select-window -t tmux-zoom

unbind - bind - \ last-window \;\ swap-pane -s tmux-zoom.0 \;\ kill-window -t tmux-zoom ```

Met de bovenstaande aanpak geïmplementeerd, kun je ook vanuit ruiten in een venster kopiëren door zoomen in elk ruitje eerst met Prefix +.

Een belangrijk detail dat ontbrak met de muismodus is het indrukken van Shift voordat je een gebied selecteert dat je wilt kopiëren. Dit zal het naar de traditionele terminalbuffer kopiëren in plaats van de tmux-kopieerbuffer. https://wiki.archlinux.org/index.php/Tmux#Scrolling https://wiki.archlinux.org/index.php/Tmux#Scrolling (https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues)).

8
7
2015-10-28 10:59:33 +0000

Het enige wat voor mij werkt is het volgende in ~/.tmux.conf

# Allow xterm titles in terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

te zetten (het kan zijn dat je hiervoor moet herstarten)

Update:

Ik heb ontdekt dat als je de instelling in Putty Connection verandert > Data > Terminal type naar "putty" (gebruikt om wat opmaakproblemen op te lossen) van "xterm" dan houdt deze oplossing op te werken.

Update 2:

Gebruik dit als je "putty" als terminaltype wilt: set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

7
6
2017-01-04 20:22:53 +0000

Dit werkte voor mij:

vim ~/.tmux.conf
set -g mode-mouse on ###Insert this setting with vim, then source the file.
tmux source-file ~/.tmux.conf
6
4
2019-09-22 02:10:00 +0000

FWIW, op een macbook/OSX Mojave, na ctrl+[ doen:

  • up arrow voor line up
  • down arrow voor line down
  • fn + up arrow voor page up
  • fn + down arrow voor page down
  • q om de weergavemodus te verlaten
4
-2
2016-10-26 07:55:46 +0000
  • Ctrl + A - om te beginnen met scrollen
  • Ctrl + C - om te stoppen met scrollen
-2