tmux简单上手

目的

  • 保存恢复终端现场
  • 分屏操作

概念

  • 会话
    tmux的所有操作都是在tmux会话中完成的,同时可以有多个会话
  • 窗口
    一个会话可以有多个窗口
  • 窗格
    一个窗口可以有多个窗格(垂直或水平分割的栏)

操作

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
##会话外
tmux ls 查看所有会话
tmux attach-session -t session_name 恢复会话
tmux new-session -t session_name 创建会话
tmux rename-session -t session_name new_name 会话重命名
tmux kill -session -t session_name 结束会话
tmux list-keys 显示所有快捷键
##会话内
ctrl-b prefix
prefix+d 后台化会话
prefix+& 关闭窗口
prefix+x 关闭窗格
prefix+| 垂直分割
prefix+- 水平分割
prefix+z 最大化/还原窗格
鼠标选中滑动内容 选中并复制
prefix+p 粘贴
shift+鼠标选中 配合终端功能(复制选中内容),完成到剪切板的复制
shift+鼠标中键 配合终端功能(中键粘贴),完成从剪切板到tmux的粘贴
#复制模式
prefix+[ 进入复制模式
v 开始选中
y 复制并退出复制模式
q 退出复制模式

注意: 需要配合下列配置文件

配置

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
# 前缀绑定 (Ctrl+x)
#set -g prefix ^x
#unbind ^b
#bind x send-prefix
# 分割窗口
unbind '"'
bind - splitw -v
unbind %
bind | splitw -h
# 选中窗口
bind-key k select-pane -U
bind-key j select-pane -D
bind-key h select-pane -L
bind-key l select-pane -R
# copy-mode 将快捷键设置为 vi 模式
setw -g mode-keys vi
# 启用鼠标(Tmux v2.1)
set -g mouse on
# 更新配置文件
bind r source-file ~/.tmux.conf \; display "已更新"
#状态栏
set -g status-right "%Y-%m-%d %R"
#复制模式 vi
setw -g mode-keys vi # Vi风格选择文本
unbind p
bind p pasteb
##修改vi模式下选择及复制快捷键 2.4及以上版本写法
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
##2.4以下写法
#bind -t vi-copy 'v' begin-selection
#bind -t vi-copy 'y' copy-selection
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
# Tmux Plugin Manager(Tmux v2.1)
# Tmux Resurrect
set -g @plugin 'tmux-plugins/tmux-resurrect'
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

效果

image_1bhmq07qr15d07b5q4glflk3o9.png-893kB

参考

http://harttle.com/2015/11/06/tmux-startup.html
https://gist.github.com/ryerh/14b7c24dfd623ef8edc7
http://blog.kochiya.me/www/posts/%E6%88%91%E7%9A%84tmux%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B%E6%9E%9C%E7%84%B6%E5%9D%91%E7%88%B9%E4%BA%86.html