tmux特性

tmux(terminal multiplexer)是Linux上的终端复用神器,可从一个屏幕上管理多个终端(准确说是伪终端)。使用该工具,用户可以连接或断开会话,而保持终端在后台运行。

修改prefix指令前缀

tmux 确实很好用,但是默认指令前缀ctrl、b相隔太远,使用起来极度不舒服,个人建议是修改tmux中的组合键ctrl+b(prefix

  • 查看prefix现有绑定键:
    tmux show-options -g | grep prefix

    [root@ml]# tmux show-options -g | grep prefix
    prefix C-x
    prefix2 None
  • 要在tmux内置命令中修改及时生效,可在终端中输入以下命令:

    tmux set -g prefix C-x
    tmux unbind C-b
    tmux bind C-x send-prefix
  • 要永久生效,则修改(没有则创建)系统级的/etc/tmux.conf文件或用户级的~/.tmux.conf文件

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

    保存后输入tmux source /etc/tmux.conftmux source ~/.tmux.conf

快捷键的正确使用方法

假设要新建一个窗口**(快捷键是prefix c,此处修改了默认快捷键prefix为ctrl+bctrl+x)**

许多tmux新用户会以为是ctrl、x、c同时按下,最后没有效果,因为这样是错误的

正确的做法是,先同时按下ctrlx,再按下c

session、windows、pane的区别

  1. session指的是按下tmux命令后存在的连接

  2. window在session中,可以有N个window,window可以在不同的session里移动

  3. pane在window中,可以有N个pane,pane可以在不同的window里移动、合并、拆分

常用的快捷键

session

创建并指定session名字

tmux new -s sessionName

删除session

tmux kill-session -t sessionName

连接到指定session

tmux a -t sessionName

window

创建window

prefix, c

表示先按下前缀prefix(ctrl + x),再按下c,下同。

删除window

prefix, &

&是同时按下shift和7

进入下一个window

prefix, n

进入上一个window

prefix, p

在多个window里搜索关键字

prefix, f

在相邻的两个window里切换

prefix, l

pane

横切创建pane(split pane horizontal)

prefix, ”

(在问号的上面,shift + ’)

竖切创建split pane vertical

prefix, %

%是同时按下shift和5

按顺序在pane之间移动

prefix, o

上下左右选择pane

prefix, 方向键上下左右

在同一个window里左右移动pane

Ctrl+b { (往左边,往上面)
Ctrl+b } (往右边,往下面)

删除pane

prefix, x

更换pane排版

prefix, “空格”

移动pane至window

prefix, !

其他

复制模式

prefix, [
空格标记复制开始,回车结束复制。

粘贴最后一个缓冲区内容

prefix, ]

快捷键帮助

prefix, ? (Ctrl+b :list-keys)