【问题标题】:How to i show omnicomplete's autocomplete list without autocompleting current text如何在不自动完成当前文本的情况下显示omnicomplete的自动完成列表
【发布时间】:2013-04-06 10:57:14
【问题描述】:

我正在用omnicomplete 学习vim。我想知道是否可以在不自动完成当前文本的情况下显示全能列表。例如,

如果我输入“str.c”然后调用omnicomplete,它将显示一个包含以“c”开头的可能单词的列表,并自动完成当前文本,例如“capitalize”。

例如,如果我要查找的方法是count,我必须一直向下滚动列表才能找到它,或者删除“apitalize”部分,然后键入o等。是否可以只显示列表,这样如果我在 c 之后调用它,它将显示列表而不自动完成大写?例如下面这样的东西,我仍然可以输入 o 来快速计数

【问题讨论】:

  • :set completeopt 为您提供'completeopt' 选项的值。你有longest吗?
  • @romainl compeleteopt=menu,preview
  • 你使用常规的全向补全 (<C-x><C-o>) 还是自动补全插件?
  • @romainl 我添加了默认设置为 的 Supertab。无论如何,我找到了解决方案。谢谢!

标签: vim autocomplete text-editor omnicomplete


【解决方案1】:

感谢@romainl 的评论,我查找了completeopt,并找到了答案Make Vim completion popup menu work just like in an IDE。它还有很多其他相关的提示。要做出问题中描述的行为,

:set completeopt=longest,menuone

【讨论】:

    【解决方案2】:

    您也可以只使用基本的 vim 功能,并在完成时使用 C-e 让 vim 删除列表并返回到您启动完成的点。

    【讨论】:

    • C-e 表示 CTRL+e ?如何找到“C-”等内容的含义列表?
    • :h i_ctrl-e 显示插入模式<C-e> 的文档:i_ 表示“插入模式”,ctrl-e 是基于Ctrl 的快捷方式在:help 中的索引方式。尝试:h ctrl<Tab> 来完成,:h index 来获取 Vim 中可用命令的完整列表。
    【解决方案3】:

    或者,您可以在 <C-X><C-O> 之后按 <C-P> 以返回您键入的内容,同时保持完成菜单打开。

    查看:h ins-completion-menu 了解更多信息。

    【讨论】:

      【解决方案4】:

      我认为最初的问题是completeopt 选项中缺少noinsert

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多