有时我想在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
选择文本后,尝试d
、delete
或y
、copy
或:s/match/replace/
、 或:center
、 或!sort
。
答案3
X11剪贴板
X11中有2个独立的clibboards:
- 主要(用中间按钮粘贴)(在 vim 中 - 注册
"*
) - 剪贴板(使用 (CTR+V) 或类似方法粘贴;像 Windows 一样)(在 vim 中 - 注册
"+
)
Vim + X11 剪贴板
"+
"*
和系统剪贴板之间的关联需要一个vim
with
+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
- 将光标移动到要复制的内容的开头。
- 按 v
- 通过滚动将光标移动到要复制的内容的末尾
- 按 y