在vim中剪贴板粘贴

时间:2015-11-06 13:19:45

标签: vim ubuntu-14.04 paste

我正在尝试粘贴从vim中的网页复制的字符串。我知道字符串被复制到系统剪贴板中。当我运行:echo has('clipboard')命令时,我的vim返回1,因此我键入:set paste,然后将光标定位到所需的位置并点击"*p,但这似乎不会粘贴我的整个选择。我已复制到剪贴板Vader(father figure),但只粘贴Vader。或是它粘贴这个因为光标后面的单词是Vader?最后,从系统的剪贴板中粘贴vim的最简单方法是什么?

我提到我正在使用Ubuntu 14.04(如果这有任何相关性)。

4 个答案:

答案 0 :(得分:0)

在你的.vimrc

中有这一行
set pastetoggle=<F2>

因此,无论何时在插入模式下按F2,都可以正常粘贴,没有任何问题。 有关更多信息,请参阅here

答案 1 :(得分:0)

在执行Ctrl+Shift+v后从系统剪贴板粘贴时,我总是在插入模式下使用set paste。从来没有遇到任何问题。

否则,你可以使用tim pope的vim-unmpaired插件,并使用插件设置的yo键映射进行粘贴。使用yo自动设置粘贴选项,粘贴并退出插入模式后,它会自动切换设置的粘贴选项。

答案 2 :(得分:0)

如果您打算在插入模式下使用鼠标中键或终端提供的任何快捷方式粘贴,则只需要set paste

现在,您正在寻找的注册表可能是引号+。确认只运行:registers以查看所有寄存器的内容。

我还建议您阅读以下帮助部分:help x11-selection

答案 3 :(得分:0)

我目前正在使用vim中的系统剪贴板作为默认寄存器与剪贴板管理器(如Diodon或Klipper(适用于KDE))结合使用。

将此添加到您的vim配置~/.vimrc

" Use the system clipboard for yank / delete / paste operations 
if has('unnamedplus')
   set clipboard=unnamed,unnamedplus
endif

使用此配置,vim复制/粘贴操作(在两个方向上)的行为与任何其他图形编辑器一样(if has ('unnamedplus')确保只有在使用 + clipboard <编译vim时才启用此行为/ em>选项否则表现为默认值。

注意:在Windows和MacOS上使用未命名 unnamedplus 是等效的。

在Linux上有两个不同的实体:

  • 未命名注册表是选择缓冲区(尝试使用鼠标选择内容,然后在其他位置单击或单击sx和dx鼠标按钮)。
  • unnamedplus 注册实际上是系统剪贴板