在 iTerm 中的 Vim 中启用鼠标滚动(MacOSX)

在 iTerm 中的 Vim 中启用鼠标滚动(MacOSX)

我想在 Vim 中使用鼠标仅有的用于滚动(不启用其他 Vim 模式或以其他方式与 Vim 交互)。使用:set mouse=a似乎是一个全有或全无的操作,可以改变吗?或者,是否可以将 iTerm 设置为仅传递滚动事件,而不传递单击/拖动事件?

详细解释:我在 iTerm 中经常使用 Vim,而不使用鼠标。但是,使用触控板进行惯性滚动确实很棒,是浏览大文件的绝佳方式。我可以:set mouse=a使用触控板进行滚动,这很棒。但是现在当我单击时,vim 会进入可视模式,iTerm 不会复制选定的文本。我想保留 iTerms 选择和复制文本的能力。

我曾考虑过设置 Vim,这样在 vim 中复制的内容也会在 Mac OS X 中复制(使用 pbcopy,无论如何我都需要这样做)。这在编辑本地文件时会起作用,但大多数时候我都在ssh某个地方编辑远程文件。

答案1

你可以使用

:set mouse=nicr

据我测试,它仅适用于鼠标滚动。

答案2

如果你set mouse=a,你仍然可以使用选项-单击让 iTerm 进行选择。虽然不理想,但这是我发现的最佳选择。

答案3

对于 Iterm2

首选项 -> 高级 -> 鼠标选项卡,切换:

Scroll wheel sends arrow keys when in alternate screen mode

到:

Yes

答案4

您还可以设置 vim 环境命令行选项

例如:

vim -c 'set mouse=a'

因此,vim 的一个自动执行此操作的替代别名可能是:

alias vimmy="vim -c 'set mouse=a'"

相关内容