Linux分屏利器tmux

date: 2015.09.10; modification:2017.10.03

目录:

1 简介

简单地说, tmux对于编程人员来说主要有两个功能(这应该也是tmux的主要功能):

2 安装

ubuntu类:

sudo apt-get install tmux

RedHat类:

yum install tmux

3 运行

tmux new -s session-name
tmux new -s session-name -d #在后台建立会话
tmux ls #列出会话
tmux attach -t session-name #进入某个会话(如果只有一个会话可以不加name)

4 快捷键

4.1 Session操作

Ctrl-b $        重命名当前session.
Ctrl-b s        查看/选择session.
Ctrl-b d        退出tumx, 并保存当前会话, 这时, tmux仍在后台运行, 可以通过tmux attach进入 到指定的会话

4.2 窗口操作

Ctrl-b c        新建窗口.
Ctrl-b &        关闭窗口.
Ctrl-b 0~9      切换窗口.
Ctrl-b n/p      切换到下/上一个窗口
Ctrl-b l        切换到最近使用的窗口
Ctrl-b w        以菜单方式显示及选择窗口

4.3 分屏操作

Ctrl-b "        水平分隔窗口(分为上下两块)
Ctrl-b %        纵向分隔窗口(分为左右两块)
Ctrl-b o        跳到下一个分隔窗口
Ctrl-b z        当前块全屏切换.
Ctrl-b C-o      调换分块位置.
Ctrl-b 方向键   选择分块.
Ctrl-b x        关闭当前块.
Ctrl-b ;        切换到最后一个使用的面板
Ctrl-b C-方向键 调整分块大小(按住不放可以一直调整)

Ctrl-b q        显示分隔块的编号
Ctrl-b 空格键   采用下一个内置布局
Ctrl-b !        把当前分块变为新窗口

4.4 其他快捷键

Ctrl-b ?        显示快捷键帮助
Ctrl-b t        显示时钟

4.5 复制模式(copy-mode)

Ctrl-b [        进入复制模式
    space / V       开始复制, 移动光标选择复制区域
    Enter           复制并退出copy-mode.
    q               退出copy-mode.
    Ctrl-b ]        粘贴

5 配置

打开 ~/.tmux.conf 文件, 添加如下几行:

# 设置前缀为Ctrl + a
set -g prefix C-a

# 解除Ctrl+b 与前缀的对应关系
unbind C-b

# 将r设置为加载配置文件
bind r source-file ~/.tmux.conf

# copy-mode 将快捷键设置为vi 模式
setw -g mode-keys vi

# 允许鼠标(开启后可以用滚轮滚动)
set-option -g mouse on

bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "xclip -selection clipboard -i"

配置完以后, 重启tmux起效

6 参考

http://www.tuicool.com/articles/7JJnUvM