【iTerm2 实用技巧】解决两大顽疾:历史记录看不全 & 鼠标滚轮失灵

作为 Mac 上的终端利器,iTerm2 的强大毋庸置疑。但在日常使用中,我们偶尔会遇到一些让人摸不着头脑的"小毛病",其中最典型的两个就是:

  1. 执行 git logcat 等命令后,输出的内容太长,无法向上滚动查看全部历史。
  2. git log (其实是 less 分页器) 或 vim 等界面中,键盘上下键可以滚动,但鼠标滚轮却完全失灵。

今天就来分享如何通过两个简单的设置,彻底解决这两个问题。


问题一:历史记录被"截断",看不全了

症状:当命令输出超过一屏时,你试图用触控板或鼠标滚轮向上滚动,却发现内容在某个位置被硬生生截断,无法查看更早的输出。

病因:iTerm2 的「回滚缓冲区」大小限制了能保留的历史行数。

药方:扩大甚至取消这个限制。

操作步骤

  1. 打开 iTerm2 Preferences (Command + ,)。
  2. 进入 Profiles 标签页,选择你正在使用的 Profile(通常是 Default)。
  3. 切换到 Terminal 子标签。
  4. 找到 Scrollback Buffer 区域。
  5. ✅ 直接勾选 Unlimited scrollback (无限回滚)是最简单粗暴的解决方式。
    • 或者,你也可以在 Scrollback lines 中输入一个足够大的数字,例如 100000

完成此设置后,你的 iTerm2 就能保存海量的历史输出,再也不用担心内容被截断了。


问题二:鼠标滚轮在分页器里"罢工"了

症状 :在 git logman 手册或 vim 编辑器中,鼠标滚轮无法滚动内容,但使用键盘的上下箭头键却一切正常。

病因:iTerm2 的一个高级设置控制了在"交替屏幕模式"下鼠标滚轮的信号发送方式。

药方:切换这个设置的开关状态。

操作步骤

  1. 打开 iTerm2 Preferences (Command + ,)。
  2. 这次进入 Advanced 标签页(它藏在窗口左上角,General 选项卡的旁边)。
  3. 在顶部的搜索框中输入 scroll wheel,快速过滤设置项。
  4. 找到 Mouse 分类下的 Scroll wheel sends arrow keys when in alternate screen mode 选项。
  5. 尝试切换它的状态
    • 如果当前是 No,就改为 Yes
    • 如果当前是 Yes,就改为 No
  6. 重启 iTerm2 使设置生效,然后测试 git log 是否恢复正常滚动。

小贴士 :这个选项没有绝对的"正确"值,它取决于你的使用环境和习惯。如果一种状态不行,务必尝试另一种。根据经验,在很多情况下,将其设置为 Yes 可以解决滚轮失灵的问题。


总结

记住这两个设置的位置,你就能轻松搞定 iTerm2 最常见的两大滚动问题:

  • 历史记录被截断 -> Profiles -> Terminal -> Scrollback Buffer
  • 鼠标滚轮失灵 -> Advanced -> Scroll wheel sends arrow keys when in alternate screen mode

希望这篇短文能帮你提升 iTerm2 的使用体验。如果觉得有用,欢迎点赞和收藏!你在使用 iTerm2 时还遇到过什么其他"怪病"吗?欢迎在评论区留言讨论。


相关推荐
C澒17 分钟前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
C澒24 分钟前
Remesh 框架详解:基于 CQRS 的前端领域驱动设计方案
前端·架构·前端框架·状态模式
Charlie_lll27 分钟前
学习Three.js–雪花
前端·three.js
onebyte8bits44 分钟前
前端国际化(i18n)体系设计与工程化落地
前端·国际化·i18n·工程化
C澒1 小时前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架
BestSongC1 小时前
行人摔倒检测系统 - 前端文档(1)
前端·人工智能·目标检测
0思必得01 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
Misnice2 小时前
Webpack、Vite、Rsbuild区别
前端·webpack·node.js
青茶3602 小时前
php怎么实现订单接口状态轮询(二)
前端·php·接口
大橙子额2 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js