【问题标题】:Show the autocomplete match as preview text in vim在 vim 中将自动完成匹配显示为预览文本
【发布时间】:2018-12-12 16:31:17
【问题描述】:

Vim 本身或插件是否可以内联显示自动完成选项?

如果没有,有没有办法在 vim 中显示文本而不将其插入缓冲区?

【问题讨论】:

    标签: vim autocomplete


    【解决方案1】:

    您可以通过从'completeopt' 选项中删除menu[one] 来禁用弹出菜单(:help popupmenu-completion;它通常显示可用选项的[子集])。然后,第一个候选(或longest 公共部分)直接插入缓冲区,<C-n> 在该位置循环遍历候选。要删除当前建议的完成并返回完成前的原始状态,请按<C-e>

    技术上仍然(如果只是暂时的)将候选人插入缓冲区,但我认为它非常符合您的要求,并且是内置的。要在不插入的情况下显示文本,目前只有一种(相当粗略的)解决方法,即使用:help conceal 功能来更改单个字符的外观(对于静态文本,通过\%l\%c 匹配缓冲区中的确切位置) 通过matchadd() 转换成别的东西。但是,这仅适用于现有文本;它不会在一行的末尾起作用。目前,vim_dev mailing list 上正在讨论一个通用叠加功能,但还处于非常早期的阶段。

    【讨论】:

    • 感谢您的回答,特别是您将我指向开发邮件列表。我订阅了它,我期待覆盖功能成熟。
    • 目前尚不清楚是否有人会采用该功能,但人们对此类功能颇感兴趣。让我们期待最好的结果,并随时积极贡献您对 vim_dev 的反馈!
    猜你喜欢
    • 2011-03-07
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2023-03-30
    相关资源
    最近更新 更多