我试图在sql中禁用(auto-/omni-/whichever-)完成.这对我来说是一个问题,因为我用于<C-c>转义,当文件以.sql结尾时,它似乎以令人沮丧的2秒暂停开始一些搜索.特别是,k在暂停期间键入会导致插入不需要的sql关键字的冲突.
.vimrc有
filetype plugin off
set omnifunc=
Run Code Online (Sandbox Code Playgroud)
并:filetype返回filetype detection:ON plugin:OFF indent:ON
但在插入模式下<C-c>k仍然打印
-- Omni completion (^O^N^P)
match 1 of 80` while autocompleting
Run Code Online (Sandbox Code Playgroud)
并: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
Run Code Online (Sandbox Code Playgroud)
并且verbose set omnifunc可以被覆盖,即使我:set omnifunc=(当我将其设置为空)直接:
omnifunc=sqlcomplete#Complete
Last set from /opt/local/share/vim/vim74/autoload/sqlcomplete.vim
Run Code Online (Sandbox Code Playgroud)
更多尽职调查:
Ing*_*kat 11
那些映射来自$VIMRUNTIME/ftplugin/sql.vim.您将在下面找到它:help ft-sql.如何自定义/关闭映射在:help sql-completion-customization(及以下段落)中描述.摘要:
如果您不想要任何这些映射:
let g:omni_sql_no_default_maps = 1
Run Code Online (Sandbox Code Playgroud)
要重新定义恼人的密钥:
let g:ftplugin_sql_omni_key = '<Leader>sql'
Run Code Online (Sandbox Code Playgroud)
您也可以通过选择一个不存在的密钥来完全禁用该密钥:
let g:ftplugin_sql_omni_key = '<Plug>DisableSqlOmni'
Run Code Online (Sandbox Code Playgroud)
将其中任何一个放入你的~/.vimrc.