vim:更改默认粘贴寄存器

Jos*_*ton 4 vim

当我在vim中抽取或删除文本并运行时:reg,我看到它正在注册".但是当我粘贴时,我看到"E353:没有注册:*"

我从中得到的结果是,vim正在y "but而不是粘贴*.

:set clipboard?
\clipboard=
:echo version
\704

是否有可能更改vim尝试从中拉出的寄存器?或者我问错了问题?

编辑:

为了猛拉,我使用yy(dd或者ci'等等).

rom*_*inl 19

您无法更改默认寄存器:它始终是未命名的寄存器".

但是,您可以做的是将未命名的寄存器与剪贴板寄存器同步:

set clipboard^=unnamed
Run Code Online (Sandbox Code Playgroud)

:help 'clipboard'.

以供参考…

Vim的文档通常建议将自定义值添加到默认值而不是覆盖它们.您可以使用+=追加或^=前置.在Windows或Mac OS X上,默认值为clipboard空,因此set clipboard=unnamed可能已足够,但Linux上的默认值在最后一次输入后不接受任何内容,因此unnamed必须预先添加.set clipboard^=unnamed是一个更安全,跨平台的选择:

:set clipboard^=unnamed
:set clipboard?

Linux:    unnamed,autoselect,exclude:cons\|linux
Mac OS X: unnamed
Windows:  unnamed
Run Code Online (Sandbox Code Playgroud)

  • 在我的Fedora 24机器上使用vim-X11.x86_64只能将剪贴板设置到+寄存器:`set clipboard = unnamedplus`.更安全的(^ =)版本不起作用. (3认同)