tmux 速查手册
配置
# ~/.tmux.conf # 设置默认 shell set-option -g default-shell /bin/fish # 设置默认颜色 set -g default-terminal 'screen-256color' # 支持 utf-8 set -g status-utf8 on # 设置历史记录最大条数 set -g history-limit 100000 # 设置按键模式为 Vi 模式 set-window-option -g mode-keys vi # mouse mode on set -g mode-mouse on set -g mouse-select-pane on set-option -g allow-rename off # index set -g base-index 1 setw -g pane-base-index 1 # 外观 # tmux-prefix-highlight set -g status-right '#{prefix_highlight} #H | %a %Y-%m-%d %H:%M' set -g @prefix_highlight_show_copy_mode 'on' set -g @prefix_highlight_copy_mode_attr 'fg=white,bg=blue' # 启用活动警告 setw -g monitor-activity on set -g visual-activity on # 居中窗口列表 set -g status-justify centre
session 命令
# 新建名称为 foo 的会话 : new-session tmux new -s foo # 列出所有 tmux 会话 : list-session tmux ls # 恢复至上一次的会话 attach-session tmux a # 恢复名称为 foo 的会话,会话默认名称为数字 tmux a -t foo # 删除名称为 foo 的会话 tmux kill-session -t foo # 删除所有的会话 tmux kill-server
快捷键
session
键 | 用途 |
---|---|
? | 列出所有快捷键 |
s | 选择 session |
d | 暂时退出 session |
D | 选择暂时退出 session 列表 |
: | 进入命令行模式 |
C-z | 同d |
t | 显示时间 |
window
键 | 介绍 |
---|---|
c | 新建窗口 |
& | 关闭窗口 |
[0-9] | 数字键切换到指定窗口 |
p | 切换至上一窗口 |
n | 切换至下一窗口 |
l | 前后窗口间互相切换 |
w | 通过窗口列表切换窗口 |
, | 重命名当前窗口 |
. | 修改当前窗口编号,相当于重新排序 |
f | 在所有窗口中查找关键词,便于窗口多了切换 |
pane
键 | 介绍 |
---|---|
" | 将当前面板上下分屏 |
% | 将当前面板左右分屏 |
x | 关闭当前分屏 |
! | 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板 |
ctrl+方向键 | 以1个单元格为单位移动边缘以调整当前面板大小 |
alt+方向键 | 以5个单元格为单位移动边缘以调整当前面板大小 |
q | 显示面板编号 |
o | 选择当前窗口中下一个面板 |
方向键 | 移动光标选择对应面板 |
{ | 向前置换当前面板 |
} | 向后置换当前面板 |
A-o | 逆时针旋转当前窗口的面板 |
C-o | 顺时针旋转当前窗口的面板 |
z | 最大化当前所在面板 |
page up | 向上滚动屏幕,q 退出 |
page down | 向下滚动屏幕,q 退出 |
其它操作
交换 pane 位置
命令模式
swap-pane -s 1 -t 3
交换 pane 1 跟 pane 3 的位置, 交换当前 pane 跟 pane 3 位置swap-pane -s 3
复制
开启了鼠标模式后,就可以 Shift 加鼠标来选择跟复制了, 也可以 Shift + Ctrl + c 跟 Shift + Ctrl + v
发送命令
tmux list-panes -a
列出所有 pane
tmux send-keys -t $pane_name '$command' C-m
来向 pane 发送命令, e: tmux send-keys -t ff:1.1 'top' C-m
其中 C-m 表示回车, C-z 表示撤销 Ctrl-c
设置 tmux 后 vi 背景颜色问题
# ~/.tmux.conf set -g default-terminal "screen-256color" #--- # ~/.vimcr set c_Co=256 #--- # ~/.bashrc # ryan export TERM="xterm-256color" # ryan alias tmux="tmux -2" #--- # ~/.profile # ryan 256 color support if [ -e /usr/share/terminfo/x/xterm-256color ]; then export TERM='xterm-256color' else export TERM='xterm-color' fi
参考
- https://www.jianshu.com/p/6699d9f2685d
- https://www.cnblogs.com/kaiye/p/6275207.html
- https://gist.github.com/ryerh/14b7c24dfd623ef8edc7
- https://www.atjiang.com/pragmatic-tmux-scripting-customized-envs/
- https://superuser.com/questions/399296/256-color-support-for-vim-background-in-tmux