update
[linguofeng.github.com.git] / pages / tools / tmux.md
blob74e10e54e59caa6e0bb667e2d4921c670f142b93
1 ---
2 layout: page
3 title: "tmux"
4 description: "tmux"
5 navigation: [1.安装, 2.配置, 3.基本操作与快捷键]
6 update: 2013-03-30 23:11
7 ---
9 <section id="1">
10     <div class="page-header">
11         <h3>一、安装</h3>
12     </div>
13 <pre>
14 $ brew install tmux
15 </pre>
17 </section>
19 <section id="2">
20     <div class="page-header">
21         <h3>二、配置</h3>
22     </div>
23     <h4><small>2.1</small> .tmux.conf</h4>
24 <pre class="prettyprint">
25 #设置PREFIX为Ctrl-a
26 set -g prefix C-a
27 #解除Ctrl-b与PREFIX的对应关系
28 unbind C-b
29 #copy-mode将快捷键设置为vi模式
30 setw -g mode-keys vi
32 #将r键设置为加载配置文件,并显示"reloaded!"信息
33 bind r source-file ~/.tmux.conf \; display "Reloaded!"
34 #设置终端颜色为256色
35 set -g default-terminal "screen-256color"
36 #开启status-bar uft-8支持
37 set -g status-utf8 on
39 # 开启鼠标模式
40 set -g mode-mouse on
41 set -g mouse-resize-pane on
42 set -g mouse-select-pane on
43 set -g mouse-select-window on
45 # 水平分割面板
46 unbind '"'
47 bind - splitw -v
49 # 垂直分割面板
50 unbind %
51 bind | splitw -h
53 # 绑定上j下k左l右h来方便在面板中切换
54 bind k selectp -U
55 bind j selectp -D
56 bind h selectp -L
57 bind l selectp -R
59 # 解决复制粘贴的问题
60 # $ brew install reattach-to-user-namespace
61 set-option -g default-command "reattach-to-user-namespace -l zsh"
62 </pre>
63     <h4><small>2.2</small> 解决vim复制粘贴的问题</h4>
64 <pre>
65 $ brew install reattach-to-user-namespace
66 $ vim .tmux.conf
67 </pre>
68 <pre>
69 set-option -g default-command "reattach-to-user-namespace -l zsh"
70 </pre>
71 <p>参考:https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard</p>
72     <h4><small>2.3</small> 安装tmux-powerline</h4>
73 <pre class="prettyprint">
74 # see https://github.com/erikw/tmux-powerline
75 # 字体打补丁 https://github.com/Lokaltog/vim-powerline/tree/develop/fontpatcher
76 $ brew install fontforge
77 $ fontforge -script fontpatcher Monaco.dfont
78 # 安装Monaco-Powerline.otf即可
79 </pre>
80 </section>
82 <section id="3">
83     <div class="page-header">
84         <h3>三、基本操作与快捷键</h3>
85     </div>
86 <pre class="prettyprint">
87 $ tmux new -s name      # 启动新的session,如果加 -d 参数则启动一个后台session
88 $ tmux ls               # 列出所有未退出的session,通过 PREFIX d 退出的session
89 $ tmux attach -t name   # 连接未退出的session
90 </pre>
91 <pre class="prettyprint">
92 PREFIX [                # 进入滚屏模式,操作方式为vi快捷键,hjkl c+b c+f,q或enter结束滚屏
93 PREFIX c                # create 创建一个window
94 PREFIX ,                # 修改当前window的名称
95 PREFIX x                # 关闭当前pane或window,注意pane与window的区别
96 PREFIX d                # detach 断开当前session,此时转为后台session
97 PREFIX 0-9              # 根据下标选择window
98 PREFIX p                # 切换至上一个window
99 PREFIX n                # 切换至下一个window
100 PREFIX w                # 提供一个列表选择要切换的window
101 PREFIX |                # 垂直拆分window,即创建pane
102 PREFIX -                # 水平拆分
103 PREFIX o                # 在pane中进行切换
104 PREFIX hjkl             # 左下上右地进行pane切换
105 PREFIX $                # 修改当前session的名称
106 </pre>
107 <p>参考:http://www.openbsd.org/cgi-bin/man.cgi?query=tmux</p>
108 </section>