-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
199 lines (188 loc) · 6.56 KB
/
.tmux.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# editor mode
set-window-option -g mode-keys vi
set-option -g default-shell /bin/bash
# utf-8
# set-window-option -g utf8 on # unavailable in tmux 2
set -g renumber-windows on
#set -g status-utf8 on # unavailable in tmux 2
#set -g mouse-utf8 on # unavailable in tmux 2
# window
# split window
unbind '"'
# vertical split (prefix -)
bind - splitw -v
unbind %
bind | splitw -h # horizontal split (prefix |)
#bind -n M-IC new-window
#bind -n M-Left previous-window
#bind -n M-Right next-window
# misc
# fix Escape delay
set -s escape-time 0
# select the last pane (prefix e)
bind e lastp
# select the last window (prefix Ctrl+e)
bind ^e last
# kill pane (prefix q)
bind -r q killp
# kill window (prefix Ctrl+q)
bind ^q confirm-before -p "kill-window #W? (y/n)" kill-window
# copy mode
# enter copy mode (prefix Escape)
bind Escape copy-mode
# paste buffer (prefix Ctrl+p)
bind ^p pasteb
# select (v)
# bind -t vi-copy v begin-selection # tmux 2.3 and below
bind -T copy-mode-vi v send -X begin-selection # tmux 2.4 and above
# copy (y)
# bind -t vi-copy y copy-selection # tmux 2.3 and below
bind -T copy-mode-vi y send -X copy-selection # tmux 2.4 and above
# mouse support
set -g mouse on # shift-mouse select can be used to copy text
# set mouse on with prefix m
bind m \
set -g mouse on \;\
display 'Mouse: ON'
# set mouse off with prefix M
bind M \
set -g mouse off \;\
display 'Mouse: OFF'
# history
set-option -g history-limit 4096
# copy/paste
bind c-y copy-mode
bind c-p paste-buffer
# other
setw -g xterm-keys on
#------------------------------------------------------------------------------#
## *** 基本终终端操作 ***
## tmux new -s "session_name" // 创建一个seesion
## tmux new -s "session_name" -d // 创建一个seesion, 并在后台运行
## tmux ls // 列出tmux会话列表
## tmux attach -t session // 进入指定的会话(可终端共享)
## tmux kill-session -t "session" // 删除指定会话
##
## ** 容易混淆 **
## bind-key ; // switch to last pane
## bind-key l // switch to last window
## bind-key L // switch to last session
## bind-key C-l // switch to last pane(like: bind-key ;)
##
## *** 控制台-操作说明 ***
## Ctrl+b // 激活控制台
## ** 系统操作
## ? // 列出所有快捷键;按q返回
## d // 脱离当前会话;
## D // 选择要脱离的会话;在同时开启了多个会话时使用
## Ctrl+z // 挂起当前会话
## r // 强制重绘未脱离的会话
## s // 选择并切换会话;在同时开启了多个会话时使用
## : // 进入命令行模式;
## :new-session // 创建新会话
## [ // 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
## ] // 进入粘贴模式;
## ~ // 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
##
## ** 会话操作
## ( preview session
## ) next session
## L last session
## s list session
## $ rename seesion
##
## ** 窗口操作
## c // 创建新窗口
## & // 关闭当前窗口
## [0-9] // 切换至指定窗口
## p // 切换至上一窗口
## n // 切换至下一窗口
## l // 在前后两个窗口间互相切换
## w // 通过窗口列表切换窗口
## , // 重命名当前窗口;这样便于识别
## . // 修改当前窗口编号;相当于窗口重新排序
## f // 在所有窗口中查找指定文本
## i // 显示tmux当前信息
##
## ** 面板操作
## ” // 将当前面板平分为上下两块|横向切割 --> 分割成面板
## % // 将当前面板平分为左右两块|竖向切割 --> 分割成面板
## x // 关闭当前面板
## ; // 切换到最后的pane
## ! // 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
## Ctrl+方向键 // 以1个单元格为单位移动边缘以调整当前面板大小
## Alt+方向键 // 以5个单元格为单位移动边缘以调整当前面板大小
## Space // 在预置的面板布局中循环切换;依次包括:
## even-horizontal、
## even-vertical、
## main-horizontal、
## main-vertical、
## tiled
## q // 显示面板编号
## o // 在当前窗口中选择下一面板
## { // 向前置换当前面板
## } // 向后置换当前面板
## 方向键 // 移动光标以选择面板
## Alt+o // 逆时针旋转当前窗口的面板
## Ctrl+o // 顺时针旋转当前窗口的面板
#
#
## *** 参考配置 ***
##
## ** 配置1 **
## #设置pan前景色
## set -g pane-border-fg green
## #设置pane背景色
## set -g pane-border-bg black
## #设置终端颜色为256色
## set -g default-terminal "screen-256color"
## #开启status-bar uft-8支持
## set -g status-utf8 on
## #设置pan前景色
## set -g pane-border-fg green
## #设置pane背景色
## set -g pane-border-bg black
## #设置活跃pane前景色
## set -g pane-active-border-fg white
## #设置活跃pane背景色
## set -g pane-active-border-bg yellow
## #设置消息前景色
## set -g message-fg white
## #设置消息背景色
## set -g message-bg black
## #设置消息高亮显示
## set -g message-attr bright
## #设置status-bar颜色
## set -g status-fg white
## set -g status-bg black
## #设置窗口列表颜色
## setw -g window-status-fg cyan
## setw -g window-status-bg default
## setw -g window-status-attr dim
## #设置当前窗口在status bar中的颜色
## setw -g window-status-current-fg white
## setw -g window-status-current-bg red
## setw -g window-status-current-attr bright
## #设置status bar格式
## set -g status-left-length 40
## set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
## set -g status-right "#[fg=cyan]%d %b %R"
## set -g status-interval 60
## set -g status-justify centre
## #开启window事件提示
## setw -g monitor-activity on
## set -g visual-activity on
##
## ** 配置2 **
## # 同一个窗口中的面板操作
## # 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
##------------------------------------------------------------------------------#