# tmux使用


## 简介
tmux是与screen类似的工具，但是功能更强大。

tmux的三个层级概念：  
- session(会话)  
- window(窗口)  
- pane(面板)


命令：  
`$ tmux`  
`$ tmux attach -t session`  

## 快捷键
`C-b`激活控制台，然后输入下面命令

#### 系统
快捷键   | 功能
------- | ------------
?       | 快捷键帮助
[       | 进入视图模式
s       | 切换会话
d       | 脱离当前会话，`$ tmux attach`继续

#### 窗口
快捷键   | 功能
------- | ------------
c       | 新建窗口
&       | 关闭窗口
l       | 前一个窗口
n/p     | 下/上一个窗口
数字     | 跳到相应窗口
w       | 列出所有窗口
,       | 重命名当前窗口
.       | 修改窗口编号，相当于排序
f       | 查找

#### 面板
快捷键   | 功能
------- | ------------
"/%     | 上下/左右分割面板
x       | 关闭当前面板
!       | 将当前面板置于新窗口
o       | 移到下一面板
q       | 显示面板编号，当时输入数字可跳到相应面板
C/M-方向| 以1/5的速度调节面板尺寸
SPACE    | 调整布局
{/}     | 向前/后调节当前面板顺序
C/M-o   | 逆/顺时针旋转窗口中的面板

#### 复制/粘贴模式
(以Emacs模式为例)  
1. `C-b [`进入视图模式  
2. `C-Space`开始选择（可能与输入法快捷键冲突，最简单的办法是使用`C-@`，同样效果）  
3. `C-n/p/f/b/...`选择结束后`C-w`复制  
4. `C-]`粘贴  

## 配置
`~/.tmux.conf`

```
#将激活控制台键绑定与Emacs相同
unbind C-b
set -g prefix C-x
```

## 其他
- 默认快捷键为Emacs模式，也可设置为vi模式。
- Ubuntu下翻页的M-v与菜单键可能有冲突，需要在终端窗口菜单`Edit -> Keyboard Shortcuts`取消`Enable menu access keys`前面的勾。

