为什么我无法在 Vim 中从其他程序粘贴和复制?

为什么我无法在 Vim 中从其他程序粘贴和复制?

我无法在新的 Ubuntu 18.04 上的 Vim 中从其他程序复制粘贴,即使我设置了.vimrc

set clipboard=unnamed

"+p或者"*p根本就不起作用。

答案1

确保您的 Vim 二进制文件支持+clipboard,检查 Vim 的输出vim --version:version内部并检查那里的设置。

$ vim --version | grep clipboard

发行版通常会附带多个版本的 Vim 包,您需要安装一个功能更丰富的版本,该版本启用了大多数功能,并且通常包含 GUI(gvim),因为 Linux 上的剪贴板支持需要 X11,并且通常与 Vim 的 GUI 版本捆绑在一起。

在 Ubuntu 18.04 上,这很可能是该vim-gtk3软件包,sudo apt-get install vim-gtk3如果您还没有该软件包,请使用或类似方法安装该软件包。

还要确保vim您获得的二进制文件是来自该包的二进制文件。(我相信您可以使用sudo update-alternatives --config vim它来设置它。您还可以使用它sudo update-alternatives --config editor来配置系统中的默认编辑器。)

最后,剪贴板支持需要连接到 X11,因此请确保$DISPLAY在启动 Vim 时设置并正确设置变量。如果您从本地终端(gnome-terminal 或 xterm 或 rxvt 或类似终端)启动 Vim,通常就是这种情况……但是如果您使用 tmux 或 screen 之类的东西并重新连接到您可能在此 GUI 会话之外打开的会话,则可能会出现$DISPLAY不同步的情况……如有必要,请将该变量更新为正确的值以修复该问题。

答案2

gnome 终端(CTRL- SHIFT- T),即相当于$ gnome-terminal &
支持选择文本,复制和粘贴。

这不应该依赖于 vim,除非它是邪恶的并以某种方式将其关闭。


如果你点击菜单栏,你会发现一个编辑菜单,在那里你会看到

复制等于CTRL- SHIFT- C
粘贴等于CTRL- SHIFT-V

那里SHIFT(遗留的、传统的、长久以来)
CTRL——c停止软件并
CTRL——v引入特殊字符文字的输入。


您也可以将文件图标拖放到窗口中,然后文件名将被粘贴(在光标处)。


甚至更多:如果您单击鼠标右键,则在 shell 窗口中选择的文本将插入到光标处。


此外,由于终端使用 UTF-8 作为字符的默认编码,您可以执行以下操作: CTRL- SHIFT- U2030Enter并查看:

$ echo "该值为 5‰_

“所有”字符的代码可以在$ charmap &

例如:在 charmap 中搜索“ohm”(CTRL- f),或者在左侧列表中选择Greek并找到欧姆符号,单击它,您会U+03A9 GREEK CAPITAL LETTER OMEGA在窗口的左下角看到;现在用2030上面的内容替换以03A9查看外壳中的欧米茄符号。

相关内容