推薦使用tmux – a "terminal multiplexer"
2010-12-06 15:39
183 查看
tmux是一個類似常見的GNU Screen軟體,那作者為啥還開發呢,原因單純,他覺得Screen使用的Licence是GNU有些限制,所以就順手寫了一個類似功能但是卻是用BSD Licence,除了Screen常用的功能都有外,tmux還可以在單一一個window中處理多個不同的terminal,如果你常跟我之前一樣需要常常切換在Screen之間去做事情,你一定會愛死tmux的!! 首先,先來談談如何安裝,由於不是每種OS所提供的tmux package都是最新的1.0版,所以我會建議直接抓tarball回來編譯,快又簡單。安裝步驟如下:下載最新的tmux tarball (目前是tmux-1.0.tar.gz)
解開tarball: tar zxf tmux-1.0.tar.gz
如果你不是FreeBSD uesr請跳過此步驟,編輯configure檔,移除第215行的"#define HAVE_TREE_H"
./configure && make && make install
大功告成
如果上述步驟一切順利,理論上就可以順利執行tmux了,但是tmux預設的command prefix是Ctrl+b而非Screen慣用的Ctrl+a,所以我會建議先編輯一份自己專屬的tmux設定檔(vim ~/.tmux.conf),設定如下: 原始檔在此下載 view sourceprint?
Ctrl+a後按 " : 將視窗切為上下兩個區塊
Ctrl+a後按 c : 產生新的window (跟screen一樣)
Ctrl+a後按 d : 將tmux detch到背景 (呼叫回來請使用tmux attach,就如同screen -r)
按下F1: 鎖定tmux,會顯示一個大型的數位時鐘,密碼預設在tmux.conf裡面, 請使用"openssl passwd -1″產生,再將該字串填入pass -c後面那一串,別忘了前後都要加上單引號 ‘ 喔!!當你必須暫時離開座位時,只需要按下F1馬上鎖定tmux
F2移動到單一畫面中的上一個pane
F3移動到單一畫面中的下一個pane
F9將目前這個pane的邊界往上增加一行
F10將目前這個pane的邊界往下增加一行
F11將目前這個pane的邊界往左增加一行
F12將目前這個pane的邊界往右增加一行
其他的功能,大家多多摸索吧,建議趕快裝起來自己體驗一下tmux + 上述快速鍵好用的地方吧!!!最後當然要有圖有真相(畫面左邊跟右邊那三個切割視窗就是稱之為pane,按F2、F3可以在各pane間切換,按F9~F12可以調整每個pane的大小):
转自:http://clyang.net/blog/2009/09/26/356
解開tarball: tar zxf tmux-1.0.tar.gz
如果你不是FreeBSD uesr請跳過此步驟,編輯configure檔,移除第215行的"#define HAVE_TREE_H"
./configure && make && make install
大功告成
如果上述步驟一切順利,理論上就可以順利執行tmux了,但是tmux預設的command prefix是Ctrl+b而非Screen慣用的Ctrl+a,所以我會建議先編輯一份自己專屬的tmux設定檔(vim ~/.tmux.conf),設定如下: 原始檔在此下載 view sourceprint?
01.
# Written by clyang _AT_ clyang.net
02.
# General Setting
03.
set
-option -g prefix C-a
04.
set
-window-option -g automatic-rename off
05.
06.
# Statusbar properties.
07.
set
-g display-
time
3000
08.
set
-g status-
bg
black
09.
set
-g status-
fg
cyan
10.
set
-g status-right
"#(uptime|awk '{print $11}') #(date)"
11.
12.
# Fix putty/pietty function key problem
13.
set
-g terminal-overrides
"xterm*:kf1=/e[11~:kf2=/e[12~:kf3=/e[13~:kf4=/e[14~:kf5=/e[15~:kf6=/e[17~:kf7=/e[18~:kf8=/e[19~"
14.
15.
# Binding key
16.
bind C-a send-prefix
17.
bind s
split
-window
18.
bind '"' splitw/; selectl main-vertical
19.
bind -n F1 lock
20.
bind -n F2 up-pane
21.
bind -n F3 down-pane
22.
bind -n F9 resizep -U 1
23.
bind -n F10 resizep -D 1
24.
bind -n F11 resizep -L 1
25.
bind -n F12 resizep -R 1
26.
27.
# Tmux lock setting
28.
pass -c '$1$A.n6u0qu$KwXA5FnUfkWJpVLoIY1D30'上述設定檔簡單來說,我把預設的send-prefix從Ctrl+b改成Screen習慣使用的Ctrl+a,然後定義一些快速鍵讓做事情更方便,列表如下:Ctrl+a後按 s : 將視窗切為左右兩個區塊
Ctrl+a後按 " : 將視窗切為上下兩個區塊
Ctrl+a後按 c : 產生新的window (跟screen一樣)
Ctrl+a後按 d : 將tmux detch到背景 (呼叫回來請使用tmux attach,就如同screen -r)
按下F1: 鎖定tmux,會顯示一個大型的數位時鐘,密碼預設在tmux.conf裡面, 請使用"openssl passwd -1″產生,再將該字串填入pass -c後面那一串,別忘了前後都要加上單引號 ‘ 喔!!當你必須暫時離開座位時,只需要按下F1馬上鎖定tmux
F2移動到單一畫面中的上一個pane
F3移動到單一畫面中的下一個pane
F9將目前這個pane的邊界往上增加一行
F10將目前這個pane的邊界往下增加一行
F11將目前這個pane的邊界往左增加一行
F12將目前這個pane的邊界往右增加一行
其他的功能,大家多多摸索吧,建議趕快裝起來自己體驗一下tmux + 上述快速鍵好用的地方吧!!!最後當然要有圖有真相(畫面左邊跟右邊那三個切割視窗就是稱之為pane,按F2、F3可以在各pane間切換,按F9~F12可以調整每個pane的大小):
转自:http://clyang.net/blog/2009/09/26/356
相关文章推荐
- suse使用vi编辑文件提示E437: terminal capability "cm" required
- tmux(terminal窗口管理工具)的使用
- 默认库“msvcrtd.lib”,"libc.lib"与其他库的使用冲突;使用 /NODEFAULTLIB:library
- centos6下无法使用lsof命令"-bash: lsof: command not found"
- Linix下"mount"的使用
- Hibernate SQL优化小技巧使用dynamic-insert="true" insert="true"
- <%@ taglib uri="" prefix=""%> 使用
- 在DP中使用"滚动数组"
- 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true"
- csdn下勉强使用"markdown"来撰写博客
- 使用truss、strace或ltrace诊断软件的"疑难杂症"
- 使用ServiceBroker自动激活模拟"秒杀"场景
- [SqlException (0x80131904): 在此上下文中不允许使用名称 "XXX"。有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。]
- javac,使用"-d ."与省略-d的区别
- C#使用checked关键字处理"溢出"错误
- android 使用String.format("%.2f",67.876)自已定义语言(俄语、西班牙语)会把小数点变为逗号
- SecureCRT + tmux 结合使用
- SP2010开发和VS2010专家"食谱"--第一章节--列表和事件接收器(6)--使用列表事件接收器
- 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题
- 使用VS2003创建WEB程序的时候出现"AutoMation服务器不能创建对象"错误