本文发布于14天前,最后更新于 14 天前,其中的信息可能已经有所发展或是发生改变。
🐒人类早期驯服tmux实录(错误示范)
最近,因为校园网不稳定,使用 ssh
时会频繁掉线,然后我就需要频繁恢复会话,因此被这个事儿弄得烦躁后,老老实实学习了 tmux
的用法,其中,tmux
能通过以下命令或配置开启鼠标模式
tmux set -g mouse on # 打开潘多拉魔盒
然而当你想要优雅地通过 set -g mouse on
准备享受丝滑滚动时~,下一秒选中文本突然触发「量子纠缠式复制」。。。
明明只是误触,居然把我误触选中的东西给复制下来了。我目前都在用 Mac
写代码, 那平时肯定都用触摸板,单击也是经常有的事儿嘛,怎么我单击一下就判定我是选中状态呢,非常不河狸🦫啊!
🎮 原理级操作指南
在翻阅了一下 tmux
的 docs
后,发现他的 mouse-mode
主要有以下功能:
- 鼠标三件套行为分解:
- 🖱️ 滚动浏览(想要)
- 🪟 窗格调整大小(想要)
- 🪓 选中即复制(想砍)
但同时,他又能通过 unbind
方法,禁用掉部分作用域下的鼠标滚动事件,那思路就很清晰啦
mouse on
先开总闸门- 用
unbind
劫持滚轮事件,悄悄封印MouseDrag1Pane
事件的复制诅咒
以下是 tmux
配置实现
set -g mouse on
unbind -T root MouseDrag1Pane
当然啦,这样只是关闭了常规模式下的选中复制功能,如果想在 copy
模式,以及开启了 vim
按键映射下的 copy-vi
模式下也关闭选中复制功能,只需要再在配置中加上以下两行就 OK 啦!
unbind -T copy-mode MouseDrag1Pane
unbind -T copy-mode-vi MouseDrag1Pane
至此,终端再也不会在摸鱼时自动复制老板消息啦~
☁️结语 && 引用
⭐️今日成就:获得「鼠标模式调教师」称号(系统认证)