gpt4 book ai didi

vim - 在 vim 中禁用 omnicomplete 或 ftplugin 或其他东西

转载 作者:行者123 更新时间:2023-12-03 14:38:54 25 4
gpt4 key购买 nike

我正在尝试在 sql 中禁用 (auto-/omni-/whichever-) 完成。这对我来说是个问题,因为我使用了 <C-c>对于转义,当文件以 .sql 结尾时,它似乎以令人沮丧的 2 秒暂停启动了一些搜索。特别是,键入 k在暂停期间导致插入不需要的 sql 关键字的冲突。

.vimrc 有

  filetype plugin off
set omnifunc=

:filetype返回 filetype detection:ON plugin:OFF indent:ON
但在插入模式 <C-c>k仍然打印
  -- Omni completion (^O^N^P)
match 1 of 80` while autocompleting

:verbose imap <C-c>k返回
i  <C-C>k      *@<C-\><C-O>:call sqlcomplete#Map("sqlKeyword\\w*")<CR><C-X><C-O>
Last set from ~/projects.vim

verbose set omnifunc可以被覆盖,即使我 :set omnifunc= (当我将其设置为空时)直接:
  omnifunc=sqlcomplete#Complete
Last set from /opt/local/share/vim/vim74/autoload/sqlcomplete.vim

更多尽职调查:
  • :help omnifunc
  • :help ftplugin
  • 这可能是一样的,但没有回答:How do I turn off Omni Complete in Vim?
  • 其他 SO 建议,就是打开这些功能
  • 将文件名更改为不同的名称即可解决问题
    但那是愚蠢的。
  • 最佳答案

    这些映射来自 $VIMRUNTIME/ftplugin/sql.vim .您会发现它记录在 :help ft-sql 下.如何自定义/关闭映射在 :help sql-completion-customization 下描述。 (以及以下段落)。概括:

    如果您不想要任何这些映射:

    let g:omni_sql_no_default_maps = 1

    重新定义烦人的键:
    let g:ftplugin_sql_omni_key = '<Leader>sql'

    您还可以通过选择一个不存在的键来完全禁用该键:
    let g:ftplugin_sql_omni_key = '<Plug>DisableSqlOmni'

    将其中任何一个放入您的 ~/.vimrc .

    关于vim - 在 vim 中禁用 omnicomplete 或 ftplugin 或其他东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24931088/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com