【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 时还遇到过什么其他"怪病"吗?欢迎在评论区留言讨论。


相关推荐
sunny_16 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路16 小时前
ArcPy 开发环境搭建
前端
林小帅17 小时前
【笔记】OpenClaw 架构浅析
前端·agent
林小帅18 小时前
【笔记】OpenClaw 生态系统的多语言实现对比分析
前端·agent
程序猿的程18 小时前
开源一个 React 股票 K 线图组件,传个股票代码就能画图
前端·javascript
不爱说话郭德纲19 小时前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
唐叔在学习19 小时前
[前端特效] 左滑显示按钮的实现介绍
前端·javascript
用户52822903018019 小时前
【学习笔记】ECMAScript 词法环境全解析
前端
青青家的小灰灰19 小时前
React 架构进阶:自定义 Hooks 的高级设计模式与最佳实践
前端·react.js·前端框架
Angelial19 小时前
Vite 性能瓶颈排查标准流程
前端