Tmux 快速入门:提高终端管理效率的必备技能

简介: **Tmux** 是一款终端复用工具,提升多任务处理效率。通过快捷键管理会话、窗格和窗口……

在日常的软件开发过程当中,程序员经常需要同时操作多个终端窗口。不论是编写代码、运行测试、监控日志,还是远程登录服务器,多个窗口的切换不仅繁琐,而且降低了工作效率。

此时,一个叫作 Tmux(terminal multiplexer)的工具就能大显身手了。Tmux 允许你在一个终端窗口中,通过多个窗格(pane)和窗口(window)同时进行多项操作,极大地提高了使用终端的效率。

接下来,我们用简单易懂的语言介绍一下 Tmux 的基础使用方法,让你迅速上手这个强大的工具。


快捷键

快捷键是 Tmux 操作的核心,通过它们,你可以快速实现会话管理、窗格和窗口的操作。以下是一些基础且常用的快捷键列表。

会话管理

会话(Session)是 Tmux 的顶层组织单位,每个会话可以包含多个窗口。

  • 分离当前会话: Ctrl+b d
  • 列出所有会话: Ctrl+b s
  • 重命名当前会话: Ctrl+b $

窗格操作

窗格是分屏的基本单位,一个窗口可以包含一个或多个窗格。

  • 划分左右两个窗格: Ctrl+b %
  • 划分上下两个窗格: Ctrl+b " (左双引号)
  • 上下-左右窗格互切: Ctrl+b (空格)
  • 光标切换到其他窗格: Ctrl+b (方向键)
  • 当前窗格与上一个窗格互换位置: Ctrl+b {
  • 当前窗格与下一个窗格互换位置: Ctrl+b }
  • 关闭当前窗格: Ctrl+b x
  • 将当前窗格拆分为一个独立窗口: Ctrl+b !
  • 当前窗格全屏显示: Ctrl+b z (再次使用恢复原来大小)
  • 调整窗格大小: Ctrl+b Ctrl+ (以 1 个单元格为单位调整)
  • 调整窗格大小: Ctrl+b Alt+ (以 5 个单元格为单位调整)
  • 显示窗格编号: Ctrl+b q
  • 顺时针旋转当前窗口的窗格: Ctrl+b Ctrl+o (字母 o)
  • 逆时针旋转当前窗口的窗格: Ctrl+b Alt+o
  • 显示时钟:Ctrl+b t

窗口操作

窗口可以视为多个工作空间,每个窗口可以包含多个窗格。

  • 创建新窗口: Ctrl+b c
  • 切换到上一个窗口: Ctrl+b p
  • 切换到下一个窗口: Ctrl+b n
  • 切换到指定编号的窗口: Ctrl+b
  • 从列表中选择窗口: Ctrl+b w
  • 窗口重命名: Ctrl+b ,

安装

在不同的操作系统上安装 Tmux 的命令如下:

# Ubuntu 或 Debian
sudo apt-get install tmux

# CentOS 或 Fedora
sudo yum install tmux

# Mac
brew install tmux

启动与退出

要开始使用 Tmux,只需打开终端并输入 tmux 来启动。

  • 启动:直接在终端中输入 tmux
  • 退出:可以使用 Ctrl + d 或者输入 exit 命令。

会话管理

会话让你能在单一窗口中管理多个项目或任务,非常适合多任务操作。

  1. 新建会话

新建一个默认名称的会话:

tmux

或新建一个指定名称的会话:

tmux new -s <session-name>  # 新建一个名称叫做 alex 的会话
  1. 分离会话

让当前会话在后台运行,你可以安全地关闭终端连接,之后再重新接入:

Ctrl + b d  # 或者 tmux detach
  1. 查看当前所有的 tmux 会话

查看有哪些会话正在运行:

tmux ls  # 或者 tmux list-session

配置相关

  • 系统配置文件 /etc/tmux.conf
  • 用户级配置文件 ~/.tmux.conf

配置文件实际上就是 tmux 的命令集合,也就是说每行配置均可在进入命令行模式后输入生效

  • Ctrl + r 设置为加载配置文件,并显示 Refresh configure!

bind C-r source-file ~/.tmux.conf \; display "Refresh configure!"
  • prefix 快捷键前缀由 Ctrl+b 更改为 Ctrl+a

# Send prefix
set-option -g prefix C-a
unbind-key C-a
bind-key C-a send-prefix
  • 不用按快捷键前缀,直接使用 alt + 方向键 在 pane 之间 switch

# Use Alt-arrow keys to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
  • 不用按快捷键前缀,直接使用 shift + 方向键 在 window 之间 switch

# Shift arrow to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window
  • 开启鼠标模式,用鼠标就能切换 window 、 pane、还能调整 pane 的大小

# Mouse mode
set -g mouse on
  • Ctrl+b v 竖着分屏, Ctrl+b h 横着分屏

# Set easier window split keys
bind-key v split-window -h
bind-key h split-window -v

总结

tmux 是一个功能强大的终端复用器,它通过丰富的快捷键和灵活的配置选项,极大地提升了我们使用终端的效率。无论你是开发者、系统管理员还是普通用户,掌握 tmux 都能帮助你更好地管理终端会话。

操作 Tmux 的精髓在于灵活地管理和切换会话、窗口和窗格。掌握以上基本命令,就可以让你的终端操作效率大大提高。继续探索 Tmux,你会发现更多强大功能,比如自定义快捷键、脚本自动化等,让你的工作更加得心应手。

相关文章
|
6月前
|
域名解析 运维 网络协议
Linux命令行全景指南:从入门到实践,掌握命令行的力量
Linux命令行全景指南:从入门到实践,掌握命令行的力量
165 0
|
3天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
20 3
|
3月前
|
存储 文件存储
4、文件基础操作和缩放工具与抓手工具的使用
这篇文章介绍了Photoshop中的基础操作,包括如何将多张图片放入一个窗口、设置文件自动保存、文件存储选项,以及缩放工具和抓手工具的使用方法,提供了多种图片放大和缩小的快捷操作技巧。
4、文件基础操作和缩放工具与抓手工具的使用
|
4月前
|
网络协议 Shell Linux
软件开发常见流程之使用VNC登陆之后,无法使用指令下载自动化助手,客户大大还是很给力的
软件开发常见流程之使用VNC登陆之后,无法使用指令下载自动化助手,客户大大还是很给力的
|
6月前
|
运维 自然语言处理 开发工具
【专栏】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。这 8 个原因或许是答案,命令对比一目了然!
【4月更文挑战第28天】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。其优势包括更好的扩展性、现代化界面、多语言编程支持、异步处理能力、协作功能、持续更新及活跃社区。NeoVim的命令与Vim相似,但在启动配置、插件管理和窗口管理等方面有所优化。总的来说,NeoVim提供了更强大、灵活和现代的编辑体验。
605 0
|
Linux Windows
提高终端生产力神器 - tmux
提高终端生产力神器 - tmux
174 0
|
前端开发 Linux 网络安全
如何通过SSH配合VSCode收获超舒适的远程开发体验
最近公司有接了个项目,需要远程开发,不管是用**远程控制软件**还是微软的**远程桌面连接**,体验都不是很好,感觉特别的不舒服,尤其是微软的**远程桌面连接**,只能一个人使用,经常出现你挤我我挤你的现象,这就我想到一年前通过SSH远程连接过Linux进行开发,这次就来远程连接一下Windows进行开发。
357 0
如何通过SSH配合VSCode收获超舒适的远程开发体验
|
消息中间件 Linux 开发工具
(*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解(下)
(*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解
(*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解(下)
|
IDE Unix Linux
(*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解(上)
(*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解
(*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解(上)
|
编解码 IDE 数据挖掘
使用Jupyter近2年,我离不开这6组快捷键
Jupyter一直是个人非常喜爱的coding环境,也着实适用于简单的数据分析和探索。前期分享了个人使用Jupyter的3个实用技巧,今天本文就再来总结6组常用快捷键,其使用频率之高和由之而带来的便捷程度都称得上可观!
569 0
使用Jupyter近2年,我离不开这6组快捷键
下一篇
无影云桌面