Day 09:今天又想不出标题了!tmux plugin 和 mouse mode

我把从第一天到现在每天的 Home 目录都放上 GitHub 了,README.md 里面有说明
这是今天的 Release https://github.com/simba-fs/2021-ironman-example/releases/tag/day09


tmux 本身已经是个非常完善的软件了,因此我只选了一个外挂,tmux-resurrect 这个外挂让你可以储存目前的 tmux 版面配置(分页、萤幕切割、名称等等),在下次启动时复原,这个功能在开发专案要切分编辑、编译、测试版面时很好用,不需要每次开机都重新切版面

安装

我们之前已经安装过 tmp 了,现在我们只需要在 ~/.tmux.conf 中新增一行

+ set -g @plugin 'tmux-plugins/tmux-resurrect'

然後重新开启终端机就可以了

使用

切好版面後,按 CTRLa + s (save)储存目前状态,除了版面配置,每个 session 的工作路径也会储存,vim 开启的档案下次开启有机会会帮你开,但是可能会遇到暂存档的问题,所以我建议是储存状态时把 vim 关掉
下次要使用时,用 CTRLa + r (restore)恢复

更多外挂

https://github.com/tmux-plugins/list更多外挂,主要内容包括系统资讯显示复制贴上搜寻,我个人觉得没有重要到须要特别提出来介绍,就不一一介绍


更多 tmux

写完今天的内容後我发现,内容好像有点少,於是就补充了一些 tmux 的东西

列出所有快捷键

tmux 的快捷非常方便,但是有时候真的想不起来某个功能怎麽按,这时候你可以用 tmux list-kyes 或是比较短的 tmux lsk 看看什麽按键对应到什麽功能。
有时候进来看看有什麽方便的快捷键自己还不知道也挺好玩的

滑鼠控制

不知道昨天的各种 tmux 移动、调整大小的快捷键有没有吓到你。tmux 其实还有提供一个更简单的操作方式,如果你的终端机有支援滑鼠的话(像是我用的 gnome-terminal 就有提供)你可以在 ~/.tmux.conf 中加上一行

+ set -g mouse on

然後重新开启 tmux,这时候你就可以用滑鼠换页切换分割画面调整大小等等操作,在不同的地方按右键还会有不同的功能呦!
但是要注意,如果打开这个功能,在 vim 里面就不能用滚轮卷动文件,因为滚轮卷动这个事件被 tmux「劫持」了(除非你在 vim 也开启滑鼠功能)

复制

如果你有开启滑鼠功能的话,你可以快速的操作一个平常不太用的功能——剪贴簿
tmux 有自己内部的剪贴簿,不和 vim、作业系统共用
如果你要从终端机复制文字,只需要按住左键拖移放开,就会自动复制了
而贴上的快捷键是 CTRLa + ]

tmux copy paste
复制贴上

这个剪贴簿和 vim 的剪贴簿(到 vim 的章节会介绍)你可以交替使用,在命令模式(NORMAL)时用 vim 就不用切回编辑模式,在编辑模式(INSERT、REPLACE)时用 tmux 可以用用切到命令模式(这里看不懂没关系,我们会在讲到 vim 剪贴簿时再讲一次)

系统剪贴簿

如果你开启了滑鼠功能,可是你又想要用系统剪贴簿,你只需要在选取文字时压着 SHIFT 就可以暂时抑制 tmux 的滑鼠功能,把文字复制到系统剪贴簿

结尾

tmux 是一个功能简单但是强大的软件,因此他的外挂明显比 zsh 少很多(和 vim 相比可以说一个外挂都没装 XD),但是有一些延伸自 tmux 的软件,例如 tmate,堪称 terminal 中的 teamviewer,而且是免费的!
明天开始会进入纯‧ CLI 整合式开发环境的核心—— nvim,敬请期待


<<:  DAY23 神经网路优化技巧

>>:  Day22. 谁说画面只能写在Erb - 一起在helper写画面

[DAY8] 与 ActiveRecord 分手

先来看看目前我们专案的资料夹结构: 前面有提到,ActiveRecord 所建立的 model 与 ...

ISO 15408&SAMM&CMMI&FOCI

通用标准(ISO 15408)指定了评估IT产品而不是供应商资格的标准。 -通用标准评估 FOCI(...

Day 28:PVE VM 内 CPU、GPU 效能评测

前言 在安装过後,今天我们来测试 VM 的相关效能。 CPU 效能测试 我们采用一套有天梯的效能测试...

Android Studio - 心得

经过这三十天的每天发文 每天督促自己学习新的东西并记录下来 没想到已经坚持到最後一天了!! 虽然其实...

【心得】border-radius 知多少~

要把物件边角变得圆圆润润的,首先都会想到border-radius 初学者刚会用的时候只会设定一个值...