在haskell-vim-now中更改自动完成的键绑定

时间:2015-04-02 14:30:11

标签: linux haskell vim autocomplete

我在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完成自动完成。)

提前感谢您的回答。

2 个答案:

答案 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自动完成快捷方式就可以了。