tmux user manual

用户手册阅读

tmux 的用户手册对tmux的所有特性都有详细的介绍,每个命令和配置都可以在里面找到。主要分为下面几块,可以按需快速找到要查阅的内容

DESCRIPTION

介绍tmux基本功能

DEFAULT KEY BINDINGS

介绍默认的按键配置

COMMAND PARSING AND EXECUTION

解释命令是怎么和运行的。主要包括在终端,以及配置文件,或者绑定按键的方式来运行命令:

1
2
3
4
$ tmux set-option -g status-style bg=cyan # 终端直接运行命令
set-option -g status-style bg=cyan # 在配置文件中运行
bind-key C set-option -g status-style bg=cyan # 绑定快捷键的方式运行
# set-option 是命令 -g 是选项 status-style bg=cyan 是参数

PARSING SYNTAX

介绍命令解析的语法,每条命令以分号结束,例如 $tmux neww \; splitw 如果是在tmux中执行则不需要转义 neww ; splitw

另外还有 # 用于注释,而命令所需参数必须通过 ' " 或者{} 来传递。单双引号不能跨行使用,大括号却可以。

COMMANDS

介绍命令支持的选项,大部分都可以支持 -t/s 的选项,分别用来指定目标对象(target)和源对象(source)。对于目标类型的不同,参数解析的方式也不一样:

  • 会话 target-session ,参数解析的顺序如下:

    1. $ 为前缀的 sessionID

    2. 会话名称的精确匹配

    3. 会话名称的前缀匹配,注意如果加上了=来指定的话,只接受精确匹配

    4. fnmatch

    如果找到单个会话,那就是目标会话。如果有多个就报错。如果没有找到,就用当前会话。如果没有当前会话就用最近用的会话。

  • 窗口 target-window,指定源窗口或目的窗口,格式为:session:window,同样有解析的顺序:

    1. 指定的token 例如 tmux send-keys -t:{last} ls
    2. 窗口的序号
    3. 窗口的id,以@ 引用
    4. 窗口名称的精确匹配
    5. 窗口名称的前缀匹配,如果名称前指定了=那么就只接受精确匹配
    6. fnmatch

    窗口的匹配支持的token如下:

    1
    2
    3
    4
    5
    {start}       ^    The lowest-numbered window
    {end} $ The highest-numbered window
    {last} ! The last (previously current) window
    {next} + The next window by number
    {previous} - The previous window by number
  • 窗格,查找顺序和窗口类似的,指定语法为session:window.paneindx 窗格支持的token为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Token                  Meaning
    {last} ! The last (previously active) pane
    {next} + The next pane by number
    {previous} - The previous pane by number
    {top} The top pane
    {bottom} The bottom pane
    {left} The leftmost pane
    {right} The rightmost pane
    {top-left} The top-left pane
    {top-right} The top-right pane
    {bottom-left} The bottom-left pane
    {bottom-right} The bottom-right pane
    {up-of} The pane above the active pane
    {down-of} The pane below the active pane
    {left-of} The pane to the left of the active pane
    {right-of} The pane to the right of the active pane

    其中+ - 可以紧跟offset的数值来指定偏移量,例如 select-window -t:+2

另外还有一些全局token,

  • {mouse} = 表示,用来指定最近出现鼠标事件的对象
  • {marked} ~ 表示,用来指定被标记的窗格

会话,窗口,和窗格都有一个唯一的ID,会话使用 $ 窗口使用 @ 窗格使用 % ,这些ID在对象存在的生命周期内都不会改变。这些ID可以通过 session_id window_id pane_id 这些方式显示出来,也可以通过 display-message list-sessions list-windows list-panes 这些命令来显示。通过快捷键 i 来出发display-message 可以看到对应的ID格式为: {session_id}- {pane_id}-{window_id}

image-20240128222912887

在一些指令后面可以指定参数用来传递给shell,例如:new-window 'vi ~/.tmux.conf' 就会在打开一个新窗口的同时打开vim。

CLIENTS AND SESSIONS

主要介绍 客户端(client)和会话(session)的一些常用操作,这些操作可以通过list-command来查看。客户端是用户的终端,必须关联到一个会话才能进行操作。客户端可以关联到同一个会话。 每个会话有一个或多个窗口。每个窗口可以关联到一个或多个会话,并由多个窗格组成。

客户端和会话支持的命令如下:

  • attach-session
  • detach-client
  • has-session
  • kill-server
  • kill-session
  • list-clients
  • list-commands
  • list-sessions
  • lock-client
  • lock-session
  • new-session
  • refresh-client
  • rename-session
  • server-access
  • show-messages
  • source-file
  • start-server
  • suspend-client
  • switch-client

WINDOWS AND PANES

每个窗口都可以由一个或多个窗格组成,默认窗口和窗格都是从0 开始标号的。一个窗格可以存在多个模式:

  • 复制模式,用于选定并复制窗格内的内容
  • 查看模式,当执行的命令产生很多的输出时会进入该模式,例如:list-keys
  • 选择模式,用于在列表中选择条目,该模式可以通过以下命令进入:choose-buffer choose-client choose-tree

复制模式支持两种按键绑定,通过 mode-keys 选项来配置 copy-mode 代指 emacs copy-mode-vi 代指 vi,具体快捷键可以通过list-keys来查看。

窗口和窗格主要支持以下的命令:

  • copy-mode 进入复制模式
  • select-layout 选定窗格布局
  • break-pane
  • capture-pane
  • choose-client
  • choose-tree
  • customize-mode
  • display-panes
  • find-window
  • join-pane
  • kill-pane
  • kill-window
  • last-pane
  • last-window
  • link-window
  • list-panes
  • list-windows
  • move-pane
  • move-window
  • new-window
  • next-layout
  • next-window
  • pipe-pane
  • previous-layout
  • previous-window
  • rename-window
  • resize-pane
  • resize-window
  • respawn-pane
  • respawn-window
  • rotate-window
  • select-layout
  • select-pane
  • select-window
  • split-window
  • swap-pane
  • swap-window
  • unlink-window

KEY BINDINGS

  • bind-key 用来配置快捷键,-r 表示这个按键可以重复
  • list-keys 列出按键配置
  • send-keys 向目标输入按键
  • send-prefix 向目标发送前缀键
  • unbind-key 取消绑定按键

OPTIONS

通过选项可以配置tmux 的外观和行为,包括:server options, session options, window options, pane options。可以通过 set-options 来配置也可以通过show-options -s|w|p 来查看。

HOOKS

钩子用于指定特定命令执行,或者状态改变之后的一些操作

MOUSE SUPPORT

鼠标支持相关

FORMATS

一些支持 -F 选项的命令的显示配置,可以在这里查到可以显示的内置变量,例如

#T 为pane的标题,#P 为pane的index ,#D 为pane的ID

#H 为hostname #S 为会话名 #F 为窗口标记 #I 为窗口index W 为窗口名字

STYLES

用于指定样式,包括:

fg bg align fill list range push-default, pop-default

NAMES AND TITLES

窗口和会话有名字,只有窗格有 标题

GLOBAL AND SESSION ENVIRONMENT

一些用于传递信息的变量

set-environment

show-environment

STATUS LINE

用于显示终端状态的状态栏,支持以下符号 * - # ! ~ M Z

BUFFERS

剪贴板的管理

MISCELLANEOUS

其他组件

EXIT MESSAGES

客户端段开时的提示

TERMINFO EXTENSIONS

一些扩展

CONTROL MODE

应用程序控制接口

ENVIRONMENT

与tmux有关的环境变量

T B
站点访问量: / , 本页阅读量:
T B