我在Ubuntu 14.04 LTS和Xubuntu 14.04 LTS中安装了Vim插件haskell-vim-now。
在Ubuntu中使用插件后,我可以使用Ctrl-space
的自动完成功能。但是,当我在Xubuntu中安装它时,Ctrl-space
键不起作用。我自动完成工作的唯一方法是使用密钥Ctrl-@
。
我查看了haskell-vim-now生成的.vimrc文件,问题似乎在以下几行:
inoremap <Nul> <c-r>=SuperTabAlternateCompletion("\<lt>c-x>\<lt>c-o>")<cr>
在我看来,<Nul>
绑定到Ubuntu中的Ctrl-space
和Xubuntu中的Ctrl-@
。
如何更改配置,以便{X}中的<Nul>
绑定到Ctrl-space
(以便可以使用Ctrl-space
完成自动完成。)
提前感谢您的回答。
答案 0 :(得分:1)
您只需将~/.vimrc
中的该行编辑为:
inoremap <c-space> <c-r>=SuperTabAlternateCompletion("\<lt>c-x>\<lt>c-o>")<cr>
映射采用以下基本形式:{mode}map {key} {lhs}
。有关映射的详细信息,请参阅:h :map
以及:h key-notation
。
Haskell-vim-now现在不是一个插件,它更像是vim配置分发。现在从我看到的Haskell-vim-现在似乎尝试尽可能地发挥vim发行版,但它仍然安装了许多vim插件并进行了许多自定义。对较新的vimmer配置进行如此迅速和迅速的更改通常会导致混淆,因为它们都使用其他人的自定义并且他们没有学习所有中间Vim步骤。因此,我提醒您不要进行此类分发,并在学习时慢慢建立自己的vimrc
。
答案 1 :(得分:0)
<c-space>
inoremap <c-space> <c-r>=SuperTabAlternateCompletion("\<lt>c-x>\<lt>c-o>")<cr>
中的<c-space>
原因对我不起作用的原因是因为现有的{{1}}密钥快捷方式存在问题。
一旦我解决了冲突,Vim自动完成快捷方式就可以了。