终端利器——tmux
tmux特性
tmux(terminal multiplexer)是Linux上的终端复用神器,可从一个屏幕上管理多个终端(准确说是伪终端)。使用该工具,用户可以连接或断开会话,而保持终端在后台运行。
修改prefix指令前缀
tmux 确实很好用,但是默认指令前缀ctrl、b相隔太远,使用起来极度不舒服,个人建议是修改tmux中的组合键ctrl+b(prefix)
查看prefix现有绑定键:
tmux show-options -g | grep prefix[root@ml]# tmux show-options -g | grep prefix
prefix C-x
prefix2 None要在tmux内置命令中修改及时生效,可在终端中输入以下命令:
tmux set -g prefix C-x
tmux unbind C-b
tmux bind C-x send-prefix要永久生效,则修改(没有则创建)系统级的
/etc/tmux.conf
文件或用户级的~/.tmux.conf
文件set -g prefix C-x
unbind C-b
bind C-x send-prefix保存后输入
tmux source /etc/tmux.conf
或tmux source ~/.tmux.conf
快捷键的正确使用方法
假设要新建一个窗口**(快捷键是prefix c,此处修改了默认快捷键prefix为ctrl+b
为ctrl+x
)**
许多tmux新用户会以为是ctrl、x、c同时按下,最后没有效果,因为这样是错误的
正确的做法是,先同时按下ctrl
和x
,再按下c
。
session、windows、pane的区别
session指的是按下tmux命令后存在的连接
window在session中,可以有N个window,window可以在不同的session里移动
pane在window中,可以有N个pane,pane可以在不同的window里移动、合并、拆分
常用的快捷键
session
创建并指定session名字
tmux new -s sessionName
删除session
tmux kill-session -t sessionName
连接到指定session
tmux a -t sessionName
window
创建window
prefix, c
表示先按下前缀prefix(ctrl + x),再按下c,下同。
删除window
prefix, &
&
是同时按下shift和7
进入下一个window
prefix, n
进入上一个window
prefix, p
在多个window里搜索关键字
prefix, f
在相邻的两个window里切换
prefix, l
pane
横切创建pane(split pane horizontal)
prefix, ”
(”
在问号的上面,shift + ’
)
竖切创建split pane vertical
prefix, %
%
是同时按下shift和5
按顺序在pane之间移动
prefix, o
上下左右选择pane
prefix, 方向键上下左右
在同一个window里左右移动pane
Ctrl+b { (往左边,往上面) |
删除pane
prefix, x
更换pane排版
prefix, “空格”
移动pane至window
prefix, !
其他
复制模式
prefix, [
空格标记复制开始,回车结束复制。
粘贴最后一个缓冲区内容
prefix, ]
快捷键帮助
prefix, ? (Ctrl+b :list-keys)