15

下冰雹 · 2022年07月08日

芯片开发必备工具 | 终端复用神器TMUX,不要再开一堆terminal了

作者:JKZHAN
本文首发于微信公众号“芯片学堂”(ID:HelloICTalking),芯片技术文章分享平台。

工程师在芯片开发过程中,通常会并行做很多任务,导致工作界面上开了一堆终端窗口。久而久之,可能连自己都会忘了每个终端都是用于来干嘛的。于是,如何让界面保持清爽,同时又不降低工作效率,成了很多工程师的实际需求。

TMUX作为一款功能强大,同时又容易上手的终端复用工具,将会话(session)和窗口解耦,使得用户可以在单个窗口内运行多个虚拟终端,真正做到保持界面清爽还提高了工作效率。

image.png

01 TMUX框架

关于学习使用TMUX,我不建议一上来就各种命令和快捷键一顿搞,还是有必要先看看TMUX的工作框架长什么样。TMUX的使用中涉及到几个重要的概念:session,window、pane。

image.png

Session,会话,可以理解为用户和操作系统的一个交互进程。在TMUX的框架里,session与你在电脑屏幕看到的窗口是相互独立的,即session可以被一个或多个窗口连接(attach),也可以安静地运行在后台。

Window,窗口,指的是在session中单个可见的虚拟窗口。这里的window跟上一段中的“电脑屏幕看到的窗口”不是同一个东西。一个session可以包含多个window,每个window都有自己的编号。

Pane,窗格,可以理解为一个window被划分成的小块的显示窗口。一个window可以被划分成多个pane,以方便在该单个可见的窗口中显示不同的内容,有点像vim中的窗口分隔。

CHEAT SHEET

TMUX的使用依赖于一系列快捷键。快捷键的好处是熟练之后基本可以不需要使用鼠标,光靠键盘就可以完成期望的操作;坏处也比较明显,需要长时间的使用才能达到熟练的程度。

TMUX的安装非常简便,MacOS可以直接通过brew install tmux来安装;Debian/Ubuntu可以通过sudo apt install tmux安装;Redhat/CentOS/Fedora可以通过sudo yum install tmux安装。之后就可以开始使用了,这款工具已经应用广泛,cheat sheet作为查找表能够帮助初学者快速入门。

在linuxacademy.com上可以获得TMUX比较实用的cheat sheet。我就不再作图,直接将图片粘贴在下面。Tmux的快捷键通常以Ctrl+B作为前缀,后面带不同的字符表示不同的功能,当然该前缀按键是可以通过自定义配置来修改的。

image.png

上面Cheat sheet缺少的部分是命令模式(Command mode)。TMUX通过快捷键Ctrl+B :进去命令模式,之后可以通过下面这些命令来完成相应的功能。

image.png

03 个性化定制和插件

TMUX除了既有的设定和快捷键,还提供了个性化定制的方法。在用户目录下,可以通过编辑~/.tmux.conf配置文件来修改TMUX的设定和快捷键等内容。其实很多Linux工具都是这种套路,home目录下的配置文件将作为最高优先级被使用。

此外,TMUX还支持安装插件,利用插件可以扩展出非常强大的功能。常用的插件可以从Github(https://github.com/tmux-plugins/list)上找到对应的资源,并下载插件管理器(https://github.com/tmux-plugins/tpm),之后将需要启用的插件配置到配置文件~/.tmux.conf即可。

下面是个开箱即用的Github资源,从这里可以看到TMUX个性化配置和插件使用的简明教程,https://gist.github.com/ryerh/14b7c24dfd623ef8edc7。当然,定制之路没有终点,各位极客朋友大可根据自己的喜好和方法去完善手上的工具啦。

作者:JKZHAN
原文链接:芯片学堂

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
17841
内容数
1283
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息