在Mac OS X的终端中进行鼠标上下翻页


20

与* nix相比,Terminal.app看起来很la脚。我如何获得它:

  • 将Page Up / Down发送到应用程序,而不仅仅是滚动终端输出
  • 在vim中四处移动鼠标。 set mouse=a没有帮助。
  • 以上所有内容,而SSH已连接到另一台计算机

Answers:


33

OMG facepalms苹果仍然没有解决这个问题。当我在苹果公司工作时,我会整天接到一级Tiobs的电话。

  • 打开Terminal.app
  • 打开“首选项”窗口(CMD +,)
  • 点击设置标签
  • 选择当前的“设置”主题,然后单击“键盘”选项卡
  • 编辑(或添加)主页条目:
    • 设置操作:将字符串发送到外壳:
    • 将字符串设置为\001(或按Ctrl + a)
  • 编辑(或添加)“结束”条目:
    • 设置操作:将字符串发送到外壳:
    • 将字符串设置为\005(或按Ctrl + e)
  • 编辑(或添加)Page Up的条目:
    • 设置操作:将字符串发送到外壳:
    • 将字符串设置为\033[5~(复制并粘贴到其中)
  • 编辑(或添加)Page Down的条目
    • 设置操作:将字符串发送到外壳:
    • 将字符串设置为\033[6~(复制并粘贴到其中)
  • 关闭设置窗口。

妳去 终端应准备好使用Windows / Linux用户期望的Home,End,Page Up和Page Down键。

通过SSH进入您最喜欢的Linux服务器,打开nano,vi或emacs享受。

如果Home键或End键在vim中不起作用,请尝试以下操作:

  • 主页:\ 033 [7〜
  • 结束:\ 033 [4〜

至于鼠标问题,我不确定Termminal.app是否支持xterm鼠标报告。据说它需要工作。iTerm 是支持鼠标报告的替代终端程序。MouseTerm是一种将鼠标报告添加到Terminal.app的黑客,但我尚未尝试过,也不知道它的工作原理

您也可以安装X11。

一旦完成这三件事之一,您就应该能够将ssh与set mouse = a一起使用。


1
很棒的答案。多年来,我一直在努力解决这个问题,并且在很长的一段时间里一直习惯在vim中使用Cu / d,在irssi中使用“ / scrollback goto +/- 30”。
尼克·雷塔拉克

谢谢!对于很多用户来说,这是一个巨大的问题。很高兴我能帮上忙!
Kelbizzle 2010年

这对于添加单手的上一页/下一页也非常方便(在笔记本电脑上,右侧没有Fn键,因此shift + Fn +箭头是双手操作)。我将option + uparrow绑定到\033[5~,将option + downarrow 绑定到\033[6~页面上/页面下,以便单手滚动愉快的文本。
以太

对我来说,\033OHHome和\033OFEnd 的代码效果更好。(至少在less
LarsNyström'17

4

关于Page Up / Down和Home / End,只需按住Shift键即可将其发送到应用程序。否则,按照Kelbizzle所述重新映射键将完全消除Apple关于滚动最重要的内容(即其回滚)的想法。


1

在Terminal mc内部(midnightcomander)与Fn + Shift + UpKeyFn + Shift + DownKey一起使用


0

在10.10 Yosemite(不确定以前的版本)中,您可以像使用网页一样使用触控板或鼠标向下滚动。将鼠标放在“终端”窗口上,然后使用鼠标滚轮或两个手指在触摸板上滚动。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.