Tmux 101

Tmux的结构

+-----------+   +---------------+
|           |   |    session    |
|           |   +---------------+
|           |   +---------------+
|  Server   |   |    session    |
|           |   +---------------+
|           |   
|           |       .........
+-----------+

Tmux 大致结构是一个服务端和多个会话,终端命令实际上是跑在服务端,通过会话访问,最直接的好处是,用户可以随意Detach和Attach一个会话,不用担心命令会因为网络中断而中断。

启动Tmux

tmux 立刻启动一个新的session
tmux source-file XXXX.conf 载入tmux配置文件XXXX.conf
tmux a 连接到最近一次detach的session
tmux list-sessions列出所有正在运行的session
tmux attach-session -t X 连接编号为X的session

Tmux 界面

Tmux 一个会话可以有多个窗口,窗口激活时占用整个屏幕。
一个窗口可以有多个面板,一般是水平或者竖直分割。

Tmux内指令

Tmux内部的所有指令都需要先按下绑定键,然后按下功能键
比如说 Tmux默认的绑定键是Ctrl+b,关闭当前面板的功能键是x
那么关闭当前面板的操作就是,先按下Ctrl+b,松开手,然后按下x

配置文件

我在用的tmux配置文件,是目前来说最常用的配置文件,需要的话,可以在github上搜索 tony-tmux

如果在拷贝配置文件之前已经启动过Tmux了,需要用下面这个指令重新载入配置文件

tmux source-file ~/.tmux.conf
如果使用Tmux出现界面乱码,power-line条乱蹦的情况,需要在xshell的连接设置中把终端编码设置为Unicode(UTF-8之类的)

Tmux默认的绑定键Ctrl+b,与Vim的快捷键有冲突。
习惯起见,同时为了兼容GNU Screen,常见的配置文件都把绑定键改为Ctrl+a

我的配置文件中常用功能键映射如下

+-------------------+-------------------------------------------+  
|   1,2,3,4...      | 切换到指定编号的窗口                        |  
+-------------------+-------------------------------------------+
|   c               | 创建新窗口                                 |
+-------------------+-------------------------------------------+
|   x               | 关闭当前面板(面板内命令行进程会被终结)        |
+-------------------+-------------------------------------------+
|   s               | 水平分割当前窗口或者面板                    |
+-------------------+-------------------------------------------+
|   v               | 竖直分割当前窗口或者面板                    |
+-------------------+-------------------------------------------+
|   h,j,k,l         |  像Vim一样在多个面板间切换                 |
+-------------------+-------------------------------------------+
|   d               |脱离当前会话,之后可以使用tmux a重新连接上     |
+-------------------+-------------------------------------------+
posted @ 2013-11-03 13:31  IREUL Guo  阅读(544)  评论(0编辑  收藏  举报