通过tmux new-session或者tmux
命令创建一个Tmux会话,由于作者的使用模式是“一个Tmux窗口,多个Tmux窗格”,因此通过“退出所有Tmux窗格和唯一的Tmux窗口”的形式来退出上述Tmux会话。
当只有一个窗格时,窗口即窗格,窗格即窗口。
作者具体的Tmux配置文件如下:
# 改变Tmux快捷键前缀
unbind C-b
set -g prefix C-f
# 分别重定义定位到上、下、左、右侧窗格的快捷键主键
bind-key k select-pane -U
bind-key j select-pane -D
bind-key h select-pane -L
bind-key l select-pane -R
# 定义在复制模式下,按下“v”字符开始选取待复制内容
bind-key -t vi-copy 'v' begin-selection
# 定义按下“y”字符将复制模式下待复制内容复制到Tmux内存
bind-key -t vi-copy 'y' copy-selection
# 定义按下“快捷键前缀+p”从Tmux内存中复制粘贴“复制模式下待复制内容”到本地,由于跟Tmux内存交互,需要在Tmux程序作用域内
bind p paste-buffer
# 定义按下“Y”字符将复制模式下待复制内容复制到X System内存(放在X System内存的优势在于非Tmux程序也可以复制粘贴)
bind-key -t vi-copy 'Y' copy-pipe 'xclip -i -selection clipboard'
# 定义按下“快捷键前缀+P”从X System内存中复制粘贴“复制模式下待复制内容”到本地
bind-key 'P' run-shell "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"
一、窗口和窗格
描述 | 快捷键 |
---|---|
垂直分隔窗口,得到左右两个窗格 | PREFIX+% |
水平分隔窗口,得到上下两个窗格 | PREFIX+” |
退出窗格 | Ctrl+d 快捷键或者exit 命令,这两者本质上是Shell的快捷键和命令,不属于Tmux |
强制关闭窗格 | PREFIX+x |
定位到左侧窗格(循环) | PREFIX+h |
定位到右侧窗格(循环) | PREFIX+l |
定位到上侧窗格(循环) | PREFIX+k |
定位到下侧窗格(循环) | PREFIX+j |
向上移动窗格 | PREFIX+{ |
向下移动窗格 | PREFIX+} |
重新布局窗格 | PREFIX+Shift+Space |
快速跳到相应窗格 | PREFIX+f q,然后按下相应的数字(只能是0-9) |
二、Tmux复制模式
按下PREFIX+[
快捷键进入复制模式,在复制模式下按下q
字符退出复制模式。
复制模式类似于Vim的普通模式,键盘操作风格也类似,在复制模式下,按下v
字符,进行待复制内容的选取,类似于进入Vim的可视模式,键盘操作风格也类似。
需要注意的是,上述键盘操作风格可通过配置修改成非Vim风格。
待复制内容选取完成后,根据上述配置文件说明可知,有两种情形,详细描述可见图1和图2。
图1
图2