Tmux常用功能总结

简介: Tmux 的快捷键前缀(Prefix)为了使自身的快捷键和其他软件的快捷键互不干扰,Tmux 提供了一个快捷键前缀。当想要使用快捷键时,需要先按下快捷键前缀,然后再按下快捷键。Tmux 所使用的快捷键前缀默认是组合键 Ctrl-b(同时按下 Ctrl 键和 b 键)。


在 Ubuntu 中安装Tmux:

在终端输入如下命令:

sudo apt-get install tmux


Tmux 的快捷键前缀(Prefix)

为了使自身的快捷键和其他软件的快捷键互不干扰,Tmux 提供了一个快捷键前缀。当想要使用快捷键时,需要先按下快捷键前缀,然后再按下快捷键。Tmux 所使用的快捷键前缀默认是组合键 Ctrl-b(同时按下 Ctrl 键和 b 键)。


但是,由于键盘上 Ctrl 键和 b 键距离太远了,操作起来特别不方便,所以经常需要修改快捷键前缀:

只需将以下配置加入到 Tmux 的配置文件 ~/.tmux.conf 中(没有此文件就创建一个):

#个人喜欢吧快捷键前缀设置为 Ctrl + d
unbind C-b
set -g prefix C-d


Tmux 中的特殊功能



会话(session)

一个 Tmux 会话中可以包含多个窗口。

在会话外创建一个新的会话:

tmux new -s <name-of-my-session>

进入会话后创建新的会话:

只需要按下 Ctrl-b : ,然后输入如下的命令:

Ctrl-b
 :new -s <name-of-my-new-session>

在 Tmux 的会话间切换

在会话内获取会话列表,可以按下Ctrl-b s。下图所示的就是会话的列表:

Ctrl-b s

image.png

列表中的每个会话都有一个 ID,该 ID 是从 0 开始的。按下对应的 ID 就可以进入会话。

在会话外获取会话列表:

tmux ls

在会话外进入会话:

tmux attach -t <name-of-my-session>
tmux a -t <name-of-my-session>
#进入列表中第一个会话
tmux attach
tmux a

临时退出但不删除会话:

Ctrl + b   d

在会话内退出并删除session

Ctrl+b 
:kill-session
#删除所有session
Ctrl+b 
:kill-server

在会话外删除指定session

tmux kill-session -t <name-of-my-session>


窗口(Window)

一个 Tmux 会话中可以包含多个窗口。一个窗口中有可以防止多个窗格。

在 Tmux 的会话中,现有的窗口将会列在屏幕下方。下图所示的就是在默认情况下 Tmux 列出现有窗口的方式。这里一共有三个窗口,分别是“server”、“editor”和“shell”。

image.png

创建窗口:

Ctrl-b c

查看窗口列表

Ctrl-b w

切换到指定窗口,只需要先按下Ctrl-b,然后再按下想切换的窗口所对应的数字。

Ctrl-b 0

切换到下一个窗口

Ctrl+b n

切换到上一个窗口

Ctrl+b p

在相邻的两个窗口里切换

Ctrl+b l

重命名窗口

Ctrl+b ,

在多个窗口里搜索关键字

Ctrl+b f

删除窗口

Ctrl+b &


窗格(Panes)

一个tmux窗口可以分割成若干个格窗。并且格窗可以在不同的窗口中移动、合并、拆分。

创建pane

横切split pane horizontal

Ctrl+b "

竖切split pane vertical

Ctrl+b %

按顺序在pane之间移动

Ctrl+b o

上下左右选择pane

Ctrl+b 方向键上下左右

调整pane的大小

(我发现按住Ctrl+b 再按 [上|下|左|右] 键也可以实现相同的效果)

Ctrl+b 
:resize-pane -U #向上
Ctrl+b 
:resize-pane -D #向下
Ctrl+b 
:resize-pane -L #向左
Ctrl+b 
:resize-pane -R #向右

在上下左右的调整里,最后的参数可以加数字 用以控制移动的大小,例如:

Ctrl+b 
:resize-pane -D 5 #向下移动5行

在同一个window里上下左右移动pane

Ctrl+b { (往左边,往上面)
Ctrl+b } (往右边,往下面)

删除pane

Ctrl+b x

更换pane排版(上下左右分隔各种换)

Ctrl+b “空格"

移动pane至新的window

Ctrl+b !

移动pane合并至某个window

Ctrl+b :join-pane -t $window_name

按顺序移动pane位置

Ctrl+b Ctrl+o

显示pane编号

Ctrl+b q

显示时间

Ctrl+b t


相关文章
|
SQL 安全 NoSQL
DMS产品常见问题之DMS提示校验失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
jenkins 持续交付
Jenkins配置角色权限和能够看到的jobs
Jenkins配置角色权限和能够看到的jobs
553 0
|
网络协议 Java 编译器
Thrift在C++中的使用
Thrift在C++中的使用
Thrift在C++中的使用
|
存储 固态存储 索引
搜索和推荐统一存储层的新进展和思考
我们在2017年统一了搜索和推荐场景下的HA3、iGraph、RTP和DII四大引擎的存储层(参见统一之战),帮助它们取得了的更迅速的迁移能力、更快速的数据恢复能力和更丰富的数据召回能力。 最近一年来,我们在统一的存储框架上又做了进一步的演进,下面将分别从架构、Build服务以及存储模型角度介绍我们的新进展和思考。   1.架构   在我们的传统架构(参见统一之战)中,
3076 0
|
前端开发 JavaScript
前端 TS 快速入门之三:class 类
前端 TS 快速入门之三:class 类
288 1
|
网络协议 Windows
一招永久解决github上不去问题,秒开
一招永久解决github上不去问题,秒开
456 1
|
存储 运维 安全
无影云电脑初体验
#我与无影初体验 #无影使用感受
72254 91
无影云电脑初体验
|
关系型数据库 MySQL 程序员
程序员性能之道,从使用perf开始!
程序员性能之道,从使用perf开始!
|
移动开发 Rust 前端开发
我有一个想法:用 Rust 来撸 UI
RN 撸 UI 很爽,不仅跨平台,而且可动态化,可是性能就真的一般般。 Flutter 性能还行,可是强加上动态化的方案,性能也就那样了。造轮子永无止境,在 SwiftUI 和 Compose 先后问世后,我也在思考如何利用新的技术来优化 RN 的性能或者创造出全新的框架,有一些想法,也做了些尝试。
670 2
|
机器学习/深度学习 并行计算 算法
机器学习算法对GPU的要求分析
简单介绍做机器学习算法的厂家对GPU的要求
723 1