误区
早就听说过tmux 神器, 但是之前好几次看教程, 快捷键都操作不了。 原来是理解错了。
快捷键prefix, 让系统知道 这个快捷键是针对tmux的
tmux的快捷键是 Ctrl + b
重点, prefix + key, key 和 pfefix 不是一起按的,而是先按 prefix, 再按下key
重点,key部分, 比如”, %, 这些需要shift 才生效
Server
在终端输入tmux程序运行启动tmux服务, 启动tmux程序后,相当于启动第一个session 会话; 默认我们经常用的就是单会话情况。默认建立0窗口
进入/创建会话
# 启动一个session,“会话”, “窗口的集合”
tmux
# or
tmux new -s <new-name>
# 启动一个tmux, 就是启动一个会话; 两个tmux 就是两个会话; 就像两个QQ 账号
暂时退出session,或者说隐藏
tmux detach # 或者 [prefix + d]
重新进入session,
tmux attach -t 0
tmux attach -t 0
tmux -a
关闭会话或者tmux
tmux kill-session -t id
查看当前会话有哪些
tmux list-sessions
当前信息
tmux ls
窗口操作
一个窗口(window)就会占据一个屏幕, 所以多个窗口,互相只能命令切换
一个窗口可以有多个看板(panel), 别搞混了
prefix , 重命名当前窗口
prefix c 创建一个新窗口 # 一般不需要创建很多窗口
prefix & 关闭当前窗口
prefix w 列出所有窗口,可进行切换 # 上下方向键盘选择, 下方是窗口预览
prefix n 进入下一个窗口 # next window
prefix p 进入上一个窗口 # previous window
prefix l 进入之前操作的窗口 # last window
prefix 0~9 选择指定编号0~9对应的窗口 # 状态栏 窗口+ * 表示当前所在窗口
prefix . 修改当前窗口索引编号
prefix ' 切换至指定编号(可大于9)的窗口
prefix f 根据显示的内容搜索窗格
状态栏
[0] 0:zsh 1:zsh- 2:zsh*
- 表示当前所在的窗口, 0,1,2 表示有三个窗口
看板(窗格)操作
prefix % 水平方向创建窗格
prefix " 垂直方向创建窗格
prefix x 关闭当前窗格
prefix Up|Down|Left|Right 根据箭头方向切换窗格
prefix q 显示窗格编号
prefix o 逆时针切换窗格 other
C-o 逆时针转换窗格
prefix ; 切换到last panel
prefix } 与下一个窗格交换位置
prefix { 与上一个窗格交换位置
prefix space(空格键) 重新排列当前窗口下的所有窗格
prefix ! 将当前窗格置于新窗口
prefix Ctrl+o 逆时针旋转当前窗口的窗格
prefix t 在当前窗格显示时间
prefix z 放大当前窗格(再次按下将还原)
prefix i 显示当前窗格信息
炫酷配置
oh-my-tmux
翻屏模式
查看终端日志,滚轮是没用的。
此时要会看日志需要prefix + [ 进入翻屏模式, 此时可以按着pageup/pagedown 上下翻页,或者滚轮
按 q 退出翻屏 模式
进一步快捷键修改
A Guide to Customizing your tmux.conf
设置打开鼠标模式后,如何复制粘贴
shift + 鼠标左键选取 #即可完成复制
shift + 鼠标中键或者滚轮单击 #即可完成粘贴
我使用的.tmux.conf
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-q
bind-key C-q send-prefix
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# Enable mouse mode (tmux 2.1 and above)
set -g mouse on