先看一张多屏效果图
tmux的3级关系是:session:windows:panel
安装
- mac
brew install tmux
- linux
yum/apt-ge install tmux
使用
- 创建一个tmux session
tmux new
也可以直接输入tmux(这种情况下,会话名称是0、1、2…的数字),或者通过-s选项制定会话名称(个人没怎么使用名称这个功能)
- 查看已经存在会话
tmux ls
- 登录一个已经存在的会话
tmux a -t name
创建windows
Ctrl + a; c
切换windows
Ctrl+a; n/p(n:向下切,p:向上切)
创建panel
- 水平分屏
Ctrl + a; -
- 水平分屏
- 垂直
Ctrl + a; |
多屏切换
Ctrl + a; j/k/l/h(vim风格的上下左右即可)
最大化/恢复当前小屏
Ctrl+a; z
- 粘贴复制
主要针对mac平台下的
Ctrl + a; [ (进入复制模式,触发之后,会变成vim模式,这时候可以通过hjkl移动,并使用v开始选中所要复制的内容,按下y即复制,此时只是在缓冲区中,可以通过: Ctrl + a; = 查看到所有已经复制缓冲区的内容,因此后期对于前面已经复制过的内容,还可以直接通过这里查看并选择到,避免重复复制)
Ctrl + a; y (将复制缓存的内容刷到系统的粘贴板) 配置
路径:~/.tmux.conf文件- 默认快捷键前缀
Ctrl+b
建议修改成
Ctrl+a
这样可以更轻松的触发
配置项set -g prefix ^a unbind ^b bind a send-prefix
- 水平/垂直分屏
配置项
unbind '"' bind - splitw -v unbind % bind | splitw -h
- 多个小屏之间切换(按vim的风格配置)
bind k selectp -U bind j selectp -D bind h selectp -L bind l selectp -R
- 调整一次窗口大小(10:一次改变的大小)
bind ^k resizep -U 10 bind ^j resizep -D 10 bind ^h resizep -L 10 bind ^l resizep -R 10
- mac平台复制粘贴
需要借助一个第三方包
brew install reattach-to-user-namespace
配置项
setw -g mode-keys vi bind -t vi-copy v begin-selection bind -t vi-copy y copy-selection set-option -g default-command "reattach-to-user-namespace -l zsh" bind y run "tmux save-buffer - | reattach-to-user-namespace pbcopy" \; display-message "Copied tmux buffer to system clipboard" bind C-v run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
- 查看panel历史屏幕输出行数限制
set -g history-limit 65535
注意:需要先触发快捷键前缀后才能触发其他的快捷键
结束
上面介绍的都是一些最实用的功能,其他的一些不同不痒的读者可以自行再去查看。
参考:
http://blog.jobbole.com/87584/