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


相关推荐
a11177637 分钟前
3D 脑图谱 / Bilingual 3D Brain Atlas 项目
前端
T1mzhou44 分钟前
ARM64 Linux 6.10内核启动流程2-rootfs 怎么挂上
linux·服务器·前端
小小尚@1 小时前
WebGIS/ECharts 地图开发|MapLand 在线行政区划边界一键下载 GeoJSON 工具
前端·javascript·echarts
默_笙2 小时前
🚍 一条 Todo 的奇幻漂流:TypeScript 全栈类型安全的"护照检查"
前端·javascript
计算机魔术师3 小时前
NVIDIA 以 129.3 亿美元收购 Hugging Face
前端
平头哥技术团队3 小时前
Day 01 | 用 HTML 写第一个网页:双击就能在浏览器打开
前端
计算机魔术师4 小时前
两年翻45倍!英伟达靠买买买建成千亿投资帝国
前端
paopaokaka_luck4 小时前
基于springboot3+vue3的精准扶贫管理系统(AI 问答、ECharts 图形化分析)
前端·人工智能·echarts
l1m0_4 小时前
智能电动自行车管理后台实战:AI生成页面与React组件化技巧
前端·react.js·ui·ai·设计
Patrick_Wilson4 小时前
为什么gitlab的MR会默认有一个merge commit
前端·git·gitlab