当一个剪贴板选项“unnamedplus”包含在vimrc中时,E518错误表明这是未知的

时间:2017-10-26 14:06:30

标签: vim clipboard

为了让vim在yanking时访问剪贴板,我将以下脚本添加到~/.vimrc中。

:set clipboard = unnamedplus

在此之后,当我尝试使用vim时,始终显示以下错误消息:

E518: unknown option: unnamedplus

但是unnamedplus选项很常见,可以在其他stackoverflow的问题中看到,例如this

为什么我的.vimrc找不到剪贴板的选项?

我的所有.vimrc都在下面:

1 :set autoindent
2 :set number
3 :imap <C-j> <esc>
4 :noremap! <C-j> <esc>
5 :set clipboard = unnamedplus
6 :colorscheme elflord

操作系统是Ubuntu 14.04 LTS。 vim的版本为VIM - Vi IMproved 7.4Huge version with GTK2-GNOME GUI.

2 个答案:

答案 0 :(得分:1)

  1. 通常,“选项”取决于“功能”。如果Vim未使用功能A构建,则根据功能A的选项将不可用。

  2. 但这无关紧要。这里的问题是你在等号周围加上空格,所以Vim认为unnamedplus是一个选项的名称。正确的语法是:

    set clipboard=unnamedplus
    

    或:

    set clipboard =unnamedplus
    

    来自:help :set-args

    White space between {option} and '=' is allowed and will be ignored.
    White space between '=' and {value} is not allowed.
    

    “无空间”版本是一种事实上的标准。

答案 1 :(得分:0)

set=之后不允许空格。

有关详细信息,请参阅:help set

:se[t] {option}={value}     or
:se[t] {option}:{value}

     ... (unrelated explanations)

    White space between {option} and '=' is allowed and will be ignored.
    White space between '=' and {value} is not allowed.

顺便说一下,在编写.vimrc或其他Vim脚本文件时可以省略冒号。所以你的.vimrc应该是

set autoindent
set number
imap <C-j> <esc>
noremap! <C-j> <esc>
set clipboard=unnamedplus
colorscheme elflord