tmux 是一个在终端窗口的支持多个终端会话的工具,对于经常操作 linux 系统的人来说,熟练使用 tmux 可以提高工作效率,特别是经常在远程服务器命令行工作,如果执行一些比较长的命令,这时是不能断开的,用 tmux 就算关闭了窗口,命令也能继续执行的,下面来说一下 tmux 的安装,常用配置和使用:

安装 tmux

brew install tmux

注意: 关于 brew 的安装,可以看这篇文章 Mac常用软件

  • session 会话:一个服务器可以包含多个会话

  • window 窗口:一个会话可以包含多个窗口

  • pane 面板:一个窗口可以包含多个面板

  • 启动 tmux

    启动并且指定会话
    tmux new -s 会话名称
    

    可以分为两步:

  • 按 Ctrl + B 组合键,然后松开

  • 再按一下 c 键

  • 按 Ctrl + B 组合键,然后松开

  • 然后再按下想切换的窗口所对应的数字

  • tmux 的配置,配置文件为 ( ~/.tmux.conf )

    set -g status-interval 1
    set -g status-justify centre
    set -g status-left-length 20
    set -g status-right-length 140
    set -g status-left '#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r | cut -c 1-6)#[default]'
    set -g status-right '#[fg=green,bg=black,bright]#(tmux-mem-cpu-load 1) #[fg=red,dim]#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[fg=white]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d'
    set -g status-fg white
    set -g status-bg default
    set -g status-attr bright
    set-window-option -g window-status-fg white
    set-window-option -g window-status-bg default
    set-window-option -g window-status-attr dim
    set-window-option -g window-status-current-fg white
    set-window-option -g window-status-current-bg default
    set-window-option -g window-status-current-attr bright
    set-option -g prefix C-a
    bind-key C-a last-window
    set -g base-index 1
    set -s escape-time 0
    setw -g aggressive-resize on
    bind-key a send-prefix
    setw -g monitor-activity on
    set -g visual-activity on
    set-window-option -g window-status-current-bg red
    setw -g mode-keys vi
    bind h select-pane -L
    bind j select-pane -D
    bind k select-pane -U
    bind l select-pane -R
    bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
    set-window-option -g automatic-rename
    set-option -g mouse off
    set -g default-terminal "screen-256color"
    unbind '"'
    bind - splitw -v
    unbind %
    bind | splitw -h
    bind e lastp
    bind ^e last
    bind q killp
    bind ^q killw
    bind Escape copy-mode
    

    注意: 没有配置之前,tmux 原生的快捷键是 Ctrl + B,在这个配置中,我们把这个快捷键改为 Ctrl + A

    下面是配置后的一些快捷键:

  • 新建竖直 pane 面板,先按住 Ctrl + A, 松开,然后再按 |

  • 新建水平 pane 面板,先按住 Ctrl + A, 松开,然后再按 -

  • pane 面板的切换可以先按住 Ctrl + A,再加上 j(上)k(下)h(左)l(右)

  • 下面是配置后的截图:

  • tmux指南

  • Linux终端利器tmux指南

  • Tmux 快速教程