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


相关推荐
Cutecat_2 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
qq_422152572 小时前
PDF 加水印工具怎么选?2026 年文档版权保护方案对比
前端·pdf·github
kyriewen3 小时前
手写 Promise.all、race、any:不到 30 行代码,解决并发异步的所有姿势
前端·javascript·面试
brucelee1864 小时前
OpenClaw 浏览器控制(Chrome MCP)完整教程
前端·chrome
ct9784 小时前
React 状态管理方案深度对比
开发语言·前端·react
胡志辉的博客4 小时前
深入浅出理解浏览器事件循环:从一道输出题讲到 Chrome 源码
前端·javascript·chrome·chromium·event loop
代码不加糖4 小时前
js中不会冒泡的事件有哪些?
前端·javascript·vue.js
懂懂tty4 小时前
Vue2与Vue3之间API差异
前端·javascript·vue.js
AI焦点5 小时前
跨越协议鸿沟:Tool Use状态机从Anthropic到OpenAI兼容体系的适配要点
前端·人工智能
Dxy12393102165 小时前
Python线程锁:为什么多线程会“打架“,以及怎么解决
开发语言·前端·python