我刚开始使用 tmux,我真的很喜欢它,但我需要能够在我打开的缓冲区/窗格/窗口中滚动。我不在乎它是否适用于鼠标。当我搜索 tmux 手册页时,我发现只有两个单词“滚动”出现,并且都与复制模式有关。有没有办法在没有进入复制模式的所有开销的情况下滚动?
Den*_*son 2011
Ctrl-b然后[你可以使用你的普通导航键来滚动(例如Up Arrow或PgDn)。按q退出滚动模式。
或者,您可以按Ctrl-b PgUp直接进入复制模式并向上滚动一页(这听起来像是您大部分时间都想要的)
在vi模式下(见下文),您还可以使用Shift-k和Shift- j(如果您已经处于滚动模式)逐行向上/向下滚动页面。未移动,光标移动而不是页面。
手册页摘录:
tmux 可以从附加的客户端通过使用前缀键的组合键来控制,默认情况下是“C-b”(Ctrl-b),后跟一个命令键。
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
Run Code Online (Sandbox Code Playgroud)
再加上一堆。请注意,C-b如果您将其用于向上翻页,则必须按两次,因为它C-b已绑定为命令键。有关以重复计数开头复制模式命令的信息,请参见手册页。
您可以使用Ctrl-设置键绑定模式b,然后
:set-window-option mode-keys emacs
Run Code Online (Sandbox Code Playgroud)
或vi。
小智 422
好吧,您应该考虑设置滚动的正确方法:添加 ~/.tmux.conf
set -g mouse on #For tmux version 2.1 and up
Run Code Online (Sandbox Code Playgroud)
或者
set -g mode-mouse on #For tmux versions < 2.1
Run Code Online (Sandbox Code Playgroud)
它在窗口和窗格中对我有用。现在 tmux 是完美的。
实用 tmux有更多关于 tmux.conf 文件的信息。
小智 167
从我的 .tmux.conf :
# Sane scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Run Code Online (Sandbox Code Playgroud)
这将启用本地 xterm 滚动。
Flo*_*lov 76
对于最新的 tmux 2.1,要理智地用鼠标滚动,这是正确的答案:
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'"
Run Code Online (Sandbox Code Playgroud)
仅仅重新加载您的 .tmux.conf 是不够的,您需要重新启动 tmux,例如,tmux kill-server && tmux或者只是退出使用 tmux 的服务。
取自https://github.com/tmux/tmux/issues/145
Ema*_*erg 16
这就是我让它工作的方式,也是我认为它比默认方式更好的原因。
要尝试一下,请将所有代码部分放在~/.tmux.conf.
步骤 1. 更改前缀键,这样您就不必达到一点。'B' 似乎是一个关闭键,但它位于两个食指的中间(分别在 'F' 和 'J' 处)。因为该快捷方式在 tmux 中必不可少,所以 Cj 更好,因为它涉及零手部移动(除了击键)。
set -g prefix C-j
unbind C-b
bind C-j send-prefix
Run Code Online (Sandbox Code Playgroud)
Step 2. 'S'(进入copy-mode)是:1)close(同上),2)牵扯到另一只手(比较:boxing中的1-2,或者ls查看目录下文件的命令) ) 和 3) 可以被认为是“滚动”的助记符(尽管复制模式不仅仅是滚动)。
bind s copy-mode
Run Code Online (Sandbox Code Playgroud)
步骤 3. 最后一部分,实际滚动。为此,Emacs 用户熟悉“P”和“N”。它们接近、直观(键盘上的“P”在“N”上方)和助记符(“上一个”和“下一个”)。如果您只是在 Emacs 中进行了一些滚动,然后转到 tmux,那么拥有这些快捷方式是有意义的。
然而,我发现 'I' 和 'K' 甚至更好——它们比 'P' 和 'N' 更接近,并且直观(出于同样的原因);至于助记符——因为滚动是一件很常见的事情,助记符并不重要,因为快捷方式很快就会绕过你的大脑并进入肌肉记忆。
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
Run Code Online (Sandbox Code Playgroud)
pho*_*cks 10
唯一对我有用的是将以下内容放入 ~/.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"
Run Code Online (Sandbox Code Playgroud)
(您可能需要重新启动才能生效)
更新:
我发现如果您将 Putty Connection > Data > Terminal-type 中的设置从“xterm”更改为“putty”(用于修复某些格式问题),则此解决方案将停止工作。
更新 2:
如果您想要“腻子”作为终端类型,请使用此选项: set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"
mun*_*eeb 10
我为此搜索了很多,最适合我的解决方案如本详细指南中所述:http : //tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/
在 ~/.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
Run Code Online (Sandbox Code Playgroud)
实施上述方法后,您也可以通过首先使用Prefix +放大每个窗格来从窗口中的窗格复制。
鼠标模式缺少的一个重要细节是在选择要复制的区域之前按Shift。这会将它复制到传统的终端缓冲区而不是 tmux 复制缓冲区。( https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues )
小智 10
我建议尝试使用tmux-better-mouse-mode插件来解决大多数与 tmux 鼠标相关的问题。
它与 Tmux 2.1+ 和新set-option -g mouse on方法兼容。
小智 9
这对我有用:
vim ~/.tmux.conf
set -g mode-mouse on ###Insert this setting with vim, then source the file.
tmux source-file ~/.tmux.conf
Run Code Online (Sandbox Code Playgroud)
小智 6
FWIW,在 macbook/OSX Mojave 上,ctrl+[执行以下操作后:
up arrow 排队down arrow 线下fn + up arrow 向上翻页fn + down arrow 向下翻页| 归档时间: |
|
| 查看次数: |
1100043 次 |
| 最近记录: |