From 56cd454ce75c54b499f70dd80fb93ff4d969df45 Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Fri, 8 Jun 2018 16:39:08 +0800 Subject: [PATCH] Update tmux.md #42 --- command/tmux.md | 362 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 347 insertions(+), 15 deletions(-) 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
+ |
+
+ 顺时针旋转当前窗口的面板
+ |
+|