diff --git a/command/tmux.md b/command/tmux.md index e2692efc26..f32a0c03ed 100644 --- a/command/tmux.md +++ b/command/tmux.md @@ -1,22 +1,354 @@ tmux === -比 screen 好用的 ssh 窗口管理工具 +Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。 -## 实例 +## 补充说明 + +使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机; + +## 功能 + +- 提供了强劲的、易于使用的命令行界面。 +- 可横向和纵向分割窗口。 +- 窗格可以自由移动和调整大小,或直接利用四个预设布局之一。 +- 支持 UTF-8 编码及 256 色终端。 +- 可在多个缓冲区进行复制和粘贴。 +- 可通过交互式菜单来选择窗口、会话及客户端。 +- 支持跨窗口搜索。 +- 支持自动及手动锁定窗口。 + +## 安装 + +```bash +# 在 Mac OS 中,通过 brew 安装 +brew install tmux +# ubuntu版本下直接apt-get安装 +sudo apt-get install tmux +# centos7版本下直接yum安装 +yum install -y tmux + +# centos6版本需要编译安装 +yum install libevent libevent-devel ncurses-devel +tar -zvxf tmux-2.3.tar.gz # (提前下载:wget https://github.com/tmux/tmux/releases/download/2.3/tmux-2.3.tar.gz) +cd tmux-2.3 +./configure +make && make install +``` + +## 快捷键使用说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Ctrl+b
+
+
激活控制台;此时以下按键生效
+
+
系统操作
+
+
?
+
+
列出所有快捷键;按q返回
+
+
d
+
+
脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
+
+
D
+
+
选择要脱离的会话;在同时开启了多个会话时使用
+
+
Ctrl+z
+
+
挂起当前会话
+
+
r
+
+
强制重绘未脱离的会话
+
+
s
+
+
选择并切换会话;在同时开启了多个会话时使用
+
+
:
+
+
进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
+
+
[
+
+
进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
+
+
~
+
+
列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
+
+
窗口操作
+
+
c
+
+
创建新窗口
+
+
&
+
+
关闭当前窗口
+
+
数字键
+
+
切换至指定窗口
+
+
p
+
+
切换至上一窗口
+
+
n
+
+
切换至下一窗口
+
+
l
+
+
在前后两个窗口间互相切换
+
+
w
+
+
通过窗口列表切换窗口
+
+
,
+
+
重命名当前窗口;这样便于识别
+
+
.
+
+
修改当前窗口编号;相当于窗口重新排序
+
+
f
+
+
在所有窗口中查找指定文本
+
+
面板操作
+
+
+
+
将当前面板平分为上下两块
+
+
%
+
+
将当前面板平分为左右两块
+
+
x
+
+
关闭当前面板
+
+
!
+
+
将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
+
+
Ctrl+方向键
+
+
以1个单元格为单位移动边缘以调整当前面板大小
+
+
Alt+方向键
+
+
以5个单元格为单位移动边缘以调整当前面板大小
+
+
Space
+
+
在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
+
+
q
+
+
显示面板编号
+
+
o
+
+
在当前窗口中选择下一面板
+
+
方向键
+
+
移动光标以选择面板
+
+
{
+
+
向前置换当前面板
+
+
}
+
+
向后置换当前面板
+
+
Alt+o
+
+
逆时针旋转当前窗口的面板
+
+
Ctrl+o
+
+
顺时针旋转当前窗口的面板
+
+ +1)进入tmux面板后,一定要先按ctrl+b,然后松开,再按其他的组合键才生效。 +2)常用到的几个组合键: ``` -apk add tmux # 安装 +ctrl+b ? 显示快捷键帮助 +ctrl+b 空格键 采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示 +ctrl+b ! 把当前窗口变为新窗口 +ctrl+b " 模向分隔窗口 +ctrl+b % 纵向分隔窗口 +ctrl+b q 显示分隔窗口的编号 +ctrl+b o 跳到下一个分隔窗口。多屏之间的切换 +ctrl+b 上下键 上一个及下一个分隔窗口 +ctrl+b C-方向键 调整分隔窗口大小 +ctrl+b & 确认后退出当前tmux +ctrl+b [ 复制模式,即将当前屏幕移到上一个的位置上,其他所有窗口都向前移动一个。 +ctrl+b c 创建新窗口 +ctrl+b n 选择下一个窗口 +ctrl+b l 最后使用的窗口 +ctrl+b p 选择前一个窗口 +ctrl+b w 以菜单方式显示及选择窗口 +ctrl+b s 以菜单方式显示和选择会话。这个常用到,可以选择进入哪个tmux +ctrl+b t 显示时钟。然后按enter键后就会恢复到shell终端状态 +ctrl+b d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 +``` -# tmux -tmux # new session -tmux a # attach session -C-b-d # detach session -C-b-c # new window -C-b-num # ch window -exit # exit window -C-b "/% # split window -C-b 方向键 -C-b ? # keymap -no rz/sz -``` \ No newline at end of file +## 参考资料 + +- tmux 官网下载地址:http://tmux.github.io/ \ No newline at end of file