如何使用Terminal.app在tmux中向上或向下翻页?


62

当我进入时,tmux只有一部分文字显示出来。如果我尝试向上或向下滚动,控制台将向上滚动,但不滚动实际文本。如果先执行CTRL + b,然后[在状态栏中看到*tmux,然后按向上或向下箭头,则实际上可以逐行向上/向下移动文本。当我按时,q我会在状态行中看到bash

当我执行CTRL+b以下操作时,Page UP或者Page控制台升起或降下,但文本不起作用。

如何一次或多次滚动文本?


让我感到惊讶的是,但似乎开箱即用的功能是在gnome终端中使用tmux时使用中键滚动。
Anthon 2014年

Answers:


89

如果您使用的是OS X的Terminal.app,它将捕获Page up/down按键并仅滚动窗口内容,就像使用滚动条一样。您可以使用Shift+ Page up/down将它们发送到终端内的应用程序。

使用它,您应该能够使用以下内容一次滚动页面:

  1. Control+B
  2. [
  3. 箭头键或Shift+Page up/down
  4. Control+ C完成滚动后

如果要将其更改为与其他平台上的其他终端应用程序一样,可以转到终端->首选项,设置,选择个人资料并转到键盘,然后将绑定交换为“向下翻页/向上翻页”,然后“下移页面/上移页面”:

Terminal.app键盘设置屏幕截图


+1虽然我无法测试,但似乎是一个成功的答案。CMD我记得尝试使用箭头,但我不记得尝试过SHIFT。还有swap the bindings for "page down/page up" and "shift page down/shift page up你是什么意思?我不确定该怎么办。我真的希望这能奏效,因为我的神经完全被这些破坏了
吉姆

@Jim看一下屏幕截图。如果您在计算机上打开设置,则会看到“向上/向下翻页”键和“向上/向下翻页”键的动作与我的操作不同(这​​些是绑定:哪个键执行哪个动作)。如果您切换它们,则可以更改在保持或不保持档位时发生的情况。(如果要编辑它们,则可以\033
Escape键

我现在无法mac检查此内容,但是在您的屏幕截图中shift page down,该内容为,即scroll to next page in buffer。这是特殊的文字,确切地说明了什么?即定义一些映射?在Mac中也有关于这些的好书吗?因为过去几周我一直在疯狂使用键盘
吉姆(Jim)

@吉姆,我什么都不懂;我只是被Mac上长大的人所包围。至于按键设置,一旦您实际进行操作,它将变得更加有意义。:)
mrb

好。我将尽快尝试。谢谢您的回答。我很高兴您已经为我的问题提供了解决方案!!!一旦我对此进行测试,将立即接受
Jim

31

我在优胜美地MacBook Pro之前使用默认组合:fn+ + fn+ +

编辑:我发现运行优胜美地fn+ fn+ 的MBP在默认情况下可以正常工作。

在文档中,它通常显示为⇞或⇟


1
这对我在新的Air 10.9.4上有效,而无需更改任何首选项或配置文件或运行任何命令。
Paul A Jungwirth,2014年

8

编辑〜/ .tmux.conf文件,插入设置“ mouse”,并提供源文件,即:

###Find tmux version first:
tmux -V
> 1.8 

###For tmux version 1.8;
vim ~/.tmux.conf ### file
set -g mode-mouse on  ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

###For tmux 2.1 version on:
vim ~/.tmux.conf ### file
set -g mouse on ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

这很完美!
Sibbs赌博

7

Rob的答案中对绑定命令的更新,并针对Alex的评论:

我还发现page-up并且page-down不是有效的tmux(v1.8)命令,更新您的正确方法~/.tmux.conf是:

bind-key -t (emacs|vi)-copy j page-up
bind-key -t (emacs|vi)-copy ; page-down

任意选取的emacs或vi取决于什么风格TMUX使用,是指mode-keysTMUX手册

此后,您可以使用j;在复制模式下向上和向下翻页


1
关于如何将tmux放入vi模式的快速链接blog.sanctum.geek.nz/vi-mode-in-tmux
JiminyCricket 2015年

如果您仔细阅读了JiminyCricket发表的文章,则说明上面的语法仅适用于tmux 2.3及更低版本。如果您使用的是较新版本,则在启用vi模式后,该命令list-keys -T copy-mode-vi将以新语法显示键绑定(以下是很好的示例)。例如,如果您要创建向上一页的装订,请使用bind-key -T copy-mode-vi j send-keys -X page-up
mareoraft17年

3

https://wiki.archlinux.org/index.php/Tmux

如果您在终端中使用Shift-PageUp / Shift-PageDown滚动时遇到问题,请尝试以下操作:

设置-g终端覆盖'xterm *:smcup @:rmcup @'

也可能是终端仿真,请尝试以下方法之一。

export TERM=vt100
export TERM=ansi
export TERM=xterm

也许其中之一会做到这一点。

还有绑定键 ~/.tmux.conf

bind-key j page-up
bind-key ; page-down

将结合j;以前和未来。


1
page-up并且page-down不是有效的tmux(v1.8)命令,因此后两个命令会产生错误:Unknown command: page-(up|down)
Alex Leach

请参阅以下Ronnie的答案以进行上一页和下一页的工作
Silfheed 2014年

1

通过尝试两种设置来检查以确保您使用的是正确的tmux键绑定(vi vs emacs):https : //superuser.com/questions/196060/selecting-text-tmux-copy-mode

我有一个类似的问题,我可以使用箭头键移动光标,但不能使用Control+ U/ 向上或向下翻页D,也无法使用Space和选择和复制Enter。事实证明,tmux在我的Mac上处于emacs模式,在Linux中处于vi模式,即使我从未为任何一个操作系统明确设置它。


0

如果您是OS X的新手,并且熟悉Windows和Linux的键盘快捷键,则您可能会习惯于在CTRL许多方面使用。在OS X中,通常使用Command(又名Apple)键代替该CTRL键。

另外,请尝试使用Command + Up(或其他方向键)代替Page键来移动光标或屏幕。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.