tmux是一个优秀的终端复用软件,即使非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失!此外,tmux完全使用键盘控制窗口,实现窗口的切换功能。刚开始独立安装linux时我也感觉用不上,开始用screen也觉得有点装逼,后来慢慢发现对分屏还有很大的需求的,比如写了客户端的和服务端的程序就在本地测试的时候就不用开两个窗口了,当然coding还是需要另外的独立vim窗口,小屏幕抗不住。
上张图解解馋
安装的话直接apt-get就行,下面是常用的快捷键
tmux #开启tmux
tmux ls #显示已有tmux列表(C-b s)
tmux attach-session -t 数字 #选择tmux
C-b c 创建一个新的窗口
C-b n 切换到下一个窗口
C-b p 切换到上一个窗口
C-b l 最后一个窗口,和上一个窗口的概念不一样哟,谁试谁知道
c-b w 通过上下键选择当前窗口中打开的会话
C-b 数字 直接跳到你按的数字所在的窗口
C-b & 退出当前窗口
C-b d 临时断开会话 断开以后,还可以连上的哟:)
C-b " 分割出来一个窗口
C-b % 分割出来一个窗口
C-b o 在小窗口中切换
C-b (方向键)
C-b ! 关闭所有小窗口
C-b x 关闭当前光标处的小窗口
C-b t 钟表
C-b pageup/pagedown
关于更详细的配置文件可以参考这个
我的配置文件是这样的,部分配置和vim是相似的
# FileName:.tmux.conf # author:doodlesomething # email:doodlesomething@163.com # description:this is a file to config tmux # date:11-8-2014 # change the prefix key set -g prefix C-x unbind C-b #up bind-key k select-pane -U #down bind-key j select-pane -D #left bind-key h select-pane -L #right bind-key l select-pane -R #select last window bind-key C-l select-window -l #copy-mode as vi setw -g mode-keys vi #maxi the pane bind ^z run "tmu-zoom" #change the vsplit bind-key unbind '"' bind v splitw -v unbind % #change the hsplit bind-key bind h splitw -h
周末就是折腾的时候,感觉又离我的理想终端又进了一步(终端的配置可以看看我的终端配置)。