tmux

之前用过一个ubuntu的awesome的轻量级的桌面系统。最爽的一点就是它可以将屏幕分为几个分屏。

所以想在现在的terminal里面实现这个功能。

现在用的是screen,screen有一个好处就是可以在多个screen之间切换。

然后在网上发现一个新的攻击tmux,是screen的更新版。所以决定使用一下。

了解了基本用法和一些简单的命令后,总体感觉,tmux和screen基本类似,screen有的功能,tmux基本都有,快捷键的使用,也基本相同。 而且tmux的确实有一些改进。例如tmux默认就有多个屏幕的状态栏,而screen要自己配置screenrc。

tmux的安装十分简单哈,使用yum和apt-get就可以安装。可以参考这一篇文章:http://www.sitepoint.com/tmux-a-simple-start/

快捷键

tmux的快捷键是ctrl-b:

窗格操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ctrl-b c: 创建一个新的窗口,或者shell
ctrl-b ": 上下分隔窗格
ctrl-b %: 左右水平分隔窗格
ctrl-b o: 切换到另外一个窗格
ctrl-b !: 关闭其他窗格,保留当前一个
ctrl-b x: 关闭当前窗格
ctrl-b ctrl-o: 切换窗格位置

ctrl-b z: 将窗格切换为窗口,或者将窗口切换为窗格
ctrl-b {: 窗格移到左边
ctrl-b }: 窗格移到右边

ctrl-b w: 窗口列表

ctrl-b , <newname> OR ctrl-b :rename-window <newname>: 窗口重命名

copy模式

1
2
ctrl-b [: 进入拷贝模式,通过左右上下键可以调整光标的位置
esc: 退出拷贝模式

其他快捷键

1
ctrl-b ?: 查看快捷键

resize窗格

1
2
3
4
5
6
7
8
9
10
ctrl-b : resize-pane -D (Resizes the current pane down)
ctrl-b : resize-pane -U (Resizes the current pane upward)
ctrl-b : resize-pane -L (Resizes the current pane left)
ctrl-b : resize-pane -R (Resizes the current pane right)
ctrl-b : resize-pane -D 20 (Resizes the current pane down by 20 cells)
ctrl-b : resize-pane -U 20 (Resizes the current pane upward by 20 cells)
ctrl-b : resize-pane -L 20 (Resizes the current pane left by 20 cells)
ctrl-b : resize-pane -R 20 (Resizes the current pane right by 20 cells)
ctrl-b : resize-pane -t 2 20 (Resizes the pane with the id of 2 down by 20 cells)
ctrl-b : resize-pane -t -L 20 (Resizes the pane with the id of 2 left by 20 cells)

另外还可以参考一下总结的快捷键

session 控制

1
2
3
4
5
6
7
ctrl-b d: detach session
tmux ls: 查看session
ctrl-b s: tmux的session内查看session list
tmux attach -t 0: attach 0session
attach 还有两个参数,`-d`,表示detach其他链接到这个sessionclient`-r`:表示read only
tmux kill-session -t 0kill 0session
ctrl-b $ OR ctrl-b : rename-session: 修改session的名字

reference

http://www.dayid.org/os/notes/tm.html

http://superuser.com/questions/209437/how-do-i-scroll-in-tmux

http://www.davidverhasselt.com/better-mouse-scrolling-in-tmux/