作为 Mac 上的终端利器,iTerm2 的强大毋庸置疑。但在日常使用中,我们偶尔会遇到一些让人摸不着头脑的"小毛病",其中最典型的两个就是:
- 执行
git log
、cat
等命令后,输出的内容太长,无法向上滚动查看全部历史。 - 在
git log
(其实是less
分页器) 或vim
等界面中,键盘上下键可以滚动,但鼠标滚轮却完全失灵。
今天就来分享如何通过两个简单的设置,彻底解决这两个问题。
问题一:历史记录被"截断",看不全了
症状:当命令输出超过一屏时,你试图用触控板或鼠标滚轮向上滚动,却发现内容在某个位置被硬生生截断,无法查看更早的输出。
病因:iTerm2 的「回滚缓冲区」大小限制了能保留的历史行数。
药方:扩大甚至取消这个限制。
操作步骤:
- 打开 iTerm2 Preferences (
Command + ,
)。 - 进入 Profiles 标签页,选择你正在使用的 Profile(通常是
Default
)。 - 切换到 Terminal 子标签。
- 找到 Scrollback Buffer 区域。
- ✅ 直接勾选
Unlimited scrollback
(无限回滚)是最简单粗暴的解决方式。- 或者,你也可以在
Scrollback lines
中输入一个足够大的数字,例如100000
。
- 或者,你也可以在
完成此设置后,你的 iTerm2 就能保存海量的历史输出,再也不用担心内容被截断了。
问题二:鼠标滚轮在分页器里"罢工"了
症状 :在 git log
、man
手册或 vim
编辑器中,鼠标滚轮无法滚动内容,但使用键盘的上下箭头键却一切正常。
病因:iTerm2 的一个高级设置控制了在"交替屏幕模式"下鼠标滚轮的信号发送方式。
药方:切换这个设置的开关状态。
操作步骤:
- 打开 iTerm2 Preferences (
Command + ,
)。 - 这次进入 Advanced 标签页(它藏在窗口左上角,General 选项卡的旁边)。
- 在顶部的搜索框中输入
scroll wheel
,快速过滤设置项。 - 找到 Mouse 分类下的
Scroll wheel sends arrow keys when in alternate screen mode
选项。 - 尝试切换它的状态 :
- 如果当前是
No
,就改为Yes
。 - 如果当前是
Yes
,就改为No
。
- 如果当前是
- 重启 iTerm2 使设置生效,然后测试
git log
是否恢复正常滚动。
小贴士 :这个选项没有绝对的"正确"值,它取决于你的使用环境和习惯。如果一种状态不行,务必尝试另一种。根据经验,在很多情况下,将其设置为 Yes
可以解决滚轮失灵的问题。
总结
记住这两个设置的位置,你就能轻松搞定 iTerm2 最常见的两大滚动问题:
- 历史记录被截断 -> Profiles -> Terminal -> Scrollback Buffer
- 鼠标滚轮失灵 -> Advanced ->
Scroll wheel sends arrow keys when in alternate screen mode
希望这篇短文能帮你提升 iTerm2 的使用体验。如果觉得有用,欢迎点赞和收藏!你在使用 iTerm2 时还遇到过什么其他"怪病"吗?欢迎在评论区留言讨论。