如何在vim中通过鼠标滚动来选择文本?

如何在vim中通过鼠标滚动来选择文本?

有时我想在vim中复制远程主机上的一些内容,这将持续超过1页。但是当用left-click-button鼠标单击并向下滚动时,我发现我卡​​在了第一页。

我知道我可以scp先使用或cat file然后选择。

但是有没有办法让鼠标滚动在 vim 中进行这样的选择呢?

答案1

尝试一下:set mouse=a,应该就是你要找的。

编辑:顺便说一句,当您尝试滚动文件时(例如,在触摸板上用两根手指滚动),文本可能不会按您的预期突出显示。但是,如果您单击要开始的位置,然后只需向下拖动鼠标,那么随着鼠标移动,所有内容都会突出显示,并且页面也会自动向下滚动。

答案2

无需使用鼠标,您可以选择 中的行Vim

退出插入模式,点击下面的选项之一,然后向上或向下移动几行。您应该看到所选文本突出显示。

V       - selects entire lines 
v       - selects range of text
ctrl-v  - selects columns
gv      - reselect block

选择文本后,尝试ddeleteycopy:s/match/replace/、 或:center、 或!sort

答案3

X11剪贴板

X11中有2个独立的clibboards:

  • 主要(用中间按钮粘贴)(在 vim 中 - 注册"*
  • 剪贴板(使用 (CTR+V) 或类似方法粘贴;像 Windows 一样)(在 vim 中 - 注册"+

Vim + X11 剪贴板

"+ "*和系统剪贴板之间的关联需要一个vimwith +clipboard(请参阅vim --version参考资料中的活动选项)。

"+是系统剪贴板(CTR-C / CTR-V 或类似)的 vim 寄存器。

使用@grish和@serenesat我们可以选择一些视觉文本,然后输入

"+y

像往常一样,我们可以使用任何其他 vim 定位器来定义“复制到剪贴板”区域。前任:

"+yG    (to save from current position to EOF)

这样,文本就被复制到系统剪贴板,并且可以使用剪贴板技术粘贴,或者在不同的 vim 中粘贴

"+p

Vim + X11 剪贴板 + ssh

当涉及远程主机时,需要使用ssh -XY remoteHost 启用X11转发。这边走:

ssh -XY remoteHost
vim file   # and   "+yG  or  visual selection and "+g

将文本保存在剪贴板中,并且可以以通常的方式粘贴。

维姆 + SSH

如果没有其他办法,我们总是可以:

vim scp://host/file

在本地计算机中编辑远程文件...

答案4

  1. 将光标移动到要复制的内容的开头。
  2. 按 v
  3. 通过滚动将光标移动到要复制的内容的末尾
  4. 按 y

相关内容