vim - 如何设置 vim 的自动完成弹出菜单位置?

标签 vim autocomplete youcompleteme

在 vim 中,当使用自动完成插件(或只是 vim 的内置 omnifunc)时,光标旁边会弹出一个窗口,其中包含完成建议:

autocompletion example

Vim 尝试巧妙地选择该菜单的放置位置,大部分时间将其放置在光标下方,但如果您位于窗口底部附近并且没有空间查看该窗口,则将其放置在光标上方。

我最近更新到了 vim 的新版本(以及 YouCompleteMe ,我使用的自动完成插件),并且似乎 vim (或 YCM,不确定哪个负责)现在过于激进地将事物置于光标而不是下方,基本上,如果您位于窗口的上半部分,弹出菜单位于光标下方,而如果您位于下半部分,则弹出菜单始终位于光标上方。

我的问题是,如何控制这种行为?看起来这可能是一个 vim 设置,但在我所有的搜索中,我找不到任何暗示 vim 如何决定是将弹出菜单放在光标上方还是下方的内容。

最佳答案

唯一与完成相关的选项是'complete''completeopt'。完整弹出菜单的位置是硬编码在 Vim 的源代码中的。

如果您认为最近的 Vim 版本中情况变得更糟,请在 bug tracker 上提出问题。 ,或者直接在vim_dev mailing list上讨论这个问题.

关于vim - 如何设置 vim 的自动完成弹出菜单位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40472984/

相关文章:

vim - 相对于光标滚动 Vim,自定义映射

vim - 如何让 vim 在 :e and :tabnew skip . 类文件上自动完成?

search - 带连字符和小写过滤器的 Elasticsearch 通配符查询

python - Jedi 没有找到项目中的所有用法

python - VIM python 文件类型特定缩进在一个列表的 50 行后失败

autocomplete - 如何使用 YUI3 自动完成小部件处理远程数据源错误?

python - 如何解决django加载大量数据的问题?

go - YouCompleteMe编译VIM中出现错误

linux - Vim YouCompleteMe 不可用

regex - 如何阅读此命令以删除行末的所有空格