我刚刚从OSX终端切换到iTerm2,我似乎失去了一项功能。
在终端中,我可以用鼠标滚动浏览less
命令的输出,因为我已经安装了MouseTerm。
但是,当我尝试在iTerm2中滚动less
输出时,窗口的滚动条会移动。
奇怪的是,滚动按预期与vim
一起工作。
如何在iTerm2中使用鼠标滚动less
输出?
答案 0 :(得分:44)
现在它在iTerm2中实现,可以通过
激活设置 - > 高级 - > 滚轮在处于备用屏幕模式时发送箭头键并将其更改为是
(defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true
仍然可以,但它只是更改相同的设置)
答案 1 :(得分:36)
iTerm2问题现已标记为“已修复” -
但修复是添加隐藏选项,所以它不是立即显而易见的
如何启用新的AlternateMouseScroll
选项。
作为Filippo Valsorda(补丁的作者)writes, 一旦你安装了iTerm2的夜间版本(仍然没有出现在1.0.0.20140629中), 只需运行此命令:
$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true
重新启动iTerm2,所有窗口都会报告滚动事件为向上/向下箭头键逃逸 当终端处于“备用屏幕”(直接寻址)模式时 由less,vim,emacs等等程序使用。
对于提供额外鼠标支持的vim和emacs等应用程序, 你仍然想要启用鼠标报告模式, 因为这个自动模式开关只能启用滚动。
答案 2 :(得分:3)
终于做到了,我花了很多时间看这里和那里没有运气,最简单的步骤是:
安装2.9测试版
完成
答案 3 :(得分:1)
截至目前尚未实施。
iTerm 2问题跟踪器中存在一个关于实施它的未解决问题。
答案 4 :(得分:1)
不是OP的问题,但是对于那些试图在tmux中使用此功能的人来说,通过choco通过this github comment获得信用,这是一个添加到您的tmux的片段.conf让它正确处理备用屏幕(例如less,vim):
# Check if copy-mode or any mouse flags, then send mouse events
# or check if we're in alternate screen end send navigation keys (up, down)
bind -n WheelUpPane if-shell -Ft='#{?pane_in_mode,1,#{mouse_any_flag}}' \
'send -Mt=' 'if-shell -Ft= "#{alternate_on}" \
"send -t= Up" "copy-mode -et= ; send -Mt="'
bind -n WheelDownPane if-shell -Ft= '#{?pane_in_mode,1,#{mouse_any_flag}}' \
'send -Mt=' 'if-shell -Ft= "#{alternate_on}" \
"send -t= Down" "send -Mt="'
请注意,这并不需要Iterm preference change mentioned in other answers,但它也不会受到伤害。
答案 5 :(得分:0)
最新版本的less较少支持--mouse
和相关标志,因此无需向其他屏幕发送箭头键。