2012-10-03 57 views
2

刚安装了surround.vim插件,并且某些命令无法按预期工作。我使用this question为例某些Surround.vim命令不起作用

This is a lo*ng line and I want to highlight two words 

一个ys2aw"应上述更改为

This is a "long line" and I want to highlight two words 

但对我来说它改变

This is a g and I want to highlight two words 

其他时候,它并不会影响在所有!我认为这与被抽取的注册表中的内容有关。

当我打字ys,在右下方我可以看到,它迅速变成[email protected]

最后,我敢肯定没有其他插件干扰是通过发出verbose map yss命令:

n yss   <Plug>Yssurround 
    Last set from ~/.vim/plugin/surround.vim                              
n ys   <Plug>Ysurround 
    Last set from ~/.vim/plugin/surround.vim 

有人知道这里出了什么问题吗?

+0

对不起,我不能重现错误此期望的行为。你的光标在哪里?在“o”或“n”上? – romainl

+0

@romainl我刚刚尝试过“o”。如果我把它放到vim中,通过“o”并发出命令“ys2aw”'我得到:'这是一个“这是一个”长线“,我想突出两个单词”,我想突出显示两个字 ' – puk

+0

@romainl如果我撤消并再次发出该命令,我会得到相同的行为,但在粘贴的内部引号之前和之后都有一个新行,如果我再次撤销并重做,则没有任何内容会改变(尽管文件被列为正在修改) – puk

回答

1

我理解了它,使它更容易复制/粘贴VIM之间的,那么,一切,我在我的.vimrc文件以下规则:

set clipboard=unnamedplus 

这使得surround.vim出现错误的行为。相反,我所做的是以下行添加到我的.vimrc文件,让我开启/关闭

nnoremap <leader>hf :set clipboard=unnamedplus<CR> 
nnoremap <leader>fh :set clipboard-=unnamedplus<CR> 

现在surround.vim工作正常

+0

废话我很抱歉。!。我很久以前经历过类似的问题,解决它完全一样,我应该记住 – romainl

+0

请将此情况报告给插件的作者(即运一个GitHub问题);许多插件会暂时重置“剪贴板”以避免这种干扰。 –

+0

@IngoKarkat看来这个问题已经被报道 – puk