是否有本机选项(即,无需安装额外的软件/软件包/插件)来在终端应用程序中启用鼠标支持?
实际上,我在vim
该选项上使用了很多set mouse=a
(激活鼠标功能)。
但是,似乎Terminal不支持xterm的所有功能。
(经过一番搜索之后)Terminal曾经有鼠标支持,但是我想知道它去了哪里。
注意:我真的想在终端中支持鼠标,不仅限于vim,所以请不要建议MacVim:]
vim
。
是否有本机选项(即,无需安装额外的软件/软件包/插件)来在终端应用程序中启用鼠标支持?
实际上,我在vim
该选项上使用了很多set mouse=a
(激活鼠标功能)。
但是,似乎Terminal不支持xterm的所有功能。
(经过一番搜索之后)Terminal曾经有鼠标支持,但是我想知道它去了哪里。
注意:我真的想在终端中支持鼠标,不仅限于vim,所以请不要建议MacVim:]
vim
。
Answers:
我找到了答案!
一位朋友告诉我这把戏,这很容易让我感到羞耻。
只需按alt键,然后单击即可!(具有先前在vim中激活的鼠标支持)
OSX 10.11 El Capita的更新
请参阅克里斯·佩奇的答案。
alt
?
从OS X 10.11 El Capitan开始,终端支持鼠标报告。
请注意,支持鼠标报告的程序必须通过转义序列启用它,并且大多数支持鼠标报告的程序必须配置为启用它。例如,在Vim中,您必须执行set mouse=a
(通常在~/.vimrc
文件中)。
终端支持报告三个鼠标按钮和一个滚轮。要模拟具有两键设备的三键按下,可以使用Command-Right-Click。(在关闭“鼠标报告”时,右键单击命令还会执行“ 编辑”>“粘贴选择”,因此无论您是否使用鼠标报告,“中键单击”都将粘贴最近选择的文本。)
启用“鼠标报告”后,Option ⌥修饰键会映射到Meta以进行单击和滚动,并且不受“使用选项用作Meta键”键盘首选项的影响,该首选项仅适用于键盘输入。
要暂时绕过鼠标报告并与终端视图进行交互,请Fn在单击或滚动时按修饰键。还有一个“ 视图”>“允许鼠标报告”(⌘R)菜单项,可用于较长时间绕过鼠标报告,或者如果修改键不可用。
请注意,启用后,鼠标报告会取代终端的现有Option-Click行为(发送箭头键输入以移动光标)和“滚动替代屏幕”行为。此外,新的“ 允许鼠标报告”菜单项和Fn修饰符也适用于“滚动备用屏幕”,以使您暂时跳过此行为。
作为在OS X Terminal中使用Alt单击来在vi中设置光标的一种替代方法,我建议使用iTerm 2:
我希望在Terminal vi(Mac OS X 10.7 Lion)中支持鼠标,但是不支持使用滚轮滚动。我最终从终端切换到了iTerm 2,后者支持vi滚轮滚动,而您无需按住alt来设置光标。
如果您不使用Lion's Terminal应用程序中的某些更高级的功能,则您可能会对iTerm 2感到满意。
编辑:要在使用iTerm 2时在Vim中启用鼠标支持,请将以下行添加到.vimrc中:
:set mouse=a
set t_ti= t_te=
在你的~/.vimrc
。
:set mouse=a
在.vimrc中进行配置-这是在Vim中启用鼠标支持的正常方法,但是看来Terminal.app占用了鼠标输入。但是,在iTerm2.app中,使用滚轮在文本文件中上下滚动似乎可以完美地工作。
对于那些想要在Mac OS X终端中提供体面的鼠标支持的用户来说,MouseTerm似乎是一个完美的SIMBL插件。截至2013年5月,最新版本(2011年7月发布的1.0b1)声明已在OS X的标准终端应用程序中添加以下功能:
- 鼠标按钮报告。
- 鼠标滚轮报告。
- 模拟鼠标滚轮滚动浏览类似的程序(即,任何使用应用程序光标键模式的全屏程序)。
- 终端配置文件集成(带有首选项对话框)。
我正在使用tmux和vim,它不仅允许我单击(没有选项键!),而且还可以通过很少的配置在其中滚动和拖动:例如,:set mouse=a
对于vim和tmux set-window-option mode-mouse on
。切换鼠标报告很容易(使用单个组合键⇧⌘M,或从Shell菜单中进行切换),因此安装它不会有任何损失。
(注意:不过,在tmux复制模式下单击/拖动并没有按我预期的那样工作。)
您可以至少在Terminal 2.4(OS X 10.9.3)中的高级首选项中设置xterm仿真。这为我启用了适当的鼠标支持。