【问题标题】:Change key binding for autocomplete in haskell-vim-now在 haskell-vim-now 中更改自动完成的键绑定
【发布时间】:2015-06-07 13:25:09
【问题描述】:

我已经在 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>

在我看来,&lt;Nul&gt; 在 Ubuntu 中绑定到 Ctrl-space,在 Xubuntu 中绑定到 Ctrl-@

如何更改配置,以便 &lt;Nul&gt; 绑定到 Xubuntu 中的 Ctrl-space(以便可以使用 Ctrl-space 完成自动完成)。

提前感谢您的回答。

【问题讨论】:

    标签: linux haskell vim autocomplete


    【解决方案1】:

    inoremap &lt;c-space&gt; &lt;c-r&gt;=SuperTabAlternateCompletion("\&lt;lt&gt;c-x&gt;\&lt;lt&gt;c-o&gt;")&lt;cr&gt; 中的&lt;c-space&gt; 对我不起作用的原因是与现有的&lt;c-space&gt; 快捷键冲突。

    一旦我解决了冲突,Vim 自动完成快捷方式就起作用了。

    【讨论】:

      【解决方案2】:

      您只需将~/.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-now 似乎在尝试尽可能好地为 vim 发行版发挥作用,但它仍然安装了许多 vim 插件并进行了许多自定义。对较新的 vimer 配置进行如此大量和快速的更改通常会引起混乱,因为他们都使用了其他人的自定义,并且他们没有学习所有中间 Vim 步骤。因此,我提醒您不要进行此类分发,并在您学习的过程中慢慢建立自己的vimrc

      【讨论】:

      • 感谢您的建议。对于编辑,您确定它是正确的吗?我测试了inoremap =SuperTabAlternateCompletion("\c-x&gt;\c-o&gt;"),它似乎不起作用。
      • @Konstantinos,我的错误是我的帖子格式不正确。我已经更新了帖子
      • 另外,我建议您对~/.config/haskell-vim-now/vimrc.local 进行自定义,因为.vimrc 符号链接到版本控制中的文件。如果需要,使用 .local 文件可以让您在以后更轻松地更新 haskell-vim-now。请参阅readme
      猜你喜欢
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      相关资源
      最近更新 更多