我通过 ssh 访问服务器,在该服务器上运行 vim 来编辑文件。当我尝试使用 y 或 "+y 将文本从 vim 拉入本地编辑器时,它不起作用。我最终得到的是我最后在本地复制的文本。如果我只在其中使用 p ,它确实有效维姆 好吧。
为了扩展雷的答案......
当你使用 Vim 时on通过 SSH 的远程服务器,您在 Vim 中所做的一切都在远程服务器上完成。远程服务器and您在其上运行的远程 Vim 对本地计算机及其系统剪贴板的实践知识为零。
正因为如此,y
永远不会将拉出的文本放入本地剪贴板中。
为了复制一大块文本from远程 Vimto在本地计算机的剪贴板中,您有以下三个选项:
-
Select the text with your mouse and hit Cmd+C like in any Mac OS X application.
显然,它似乎是最简单的,但它至少有三个限制:
它仅限于当前屏幕。如果您要复制的文本未完全显示,您将无法复制全部内容。
It doesn't play well with set mouse=a
. With this option, any attempt to select something with the mouse will result in a visual mode selection which can't be copied with Cmd+C. As a workaround, you can use Alt+mouse to select the text without entering visual mode or simply remove this setting from your remote ~/.vimrc
.
行号也被复制。
-
将拉出的文本放入临时文件中,scp
它到您的本地计算机并使用pbcopy
将其放入系统剪贴板中。
这个解决方案似乎有点复杂,但它有效(而且问题本身也有点复杂)。多年来,我见过许多不同的实现,从简单的单行到客户端/服务器设置。这是一个 http://endot.org/2011/12/04/remotecopy-copy-from-remote-terminals-into-your-local-clipboard/,请随意用谷歌搜索其他人。
使用 X 转发将本地剪贴板连接到远程剪贴板(如果可用)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)