ctags
因为自动完成是一团糟。我建议您尝试使用基于编译器的插件,例如clang-complete或gcc-sense(没有尝试过这个)。优点是:
- 更准确,因为他们所做的几乎是编译
- 编译错误在源代码上动态标记
您必须重建 ctags 以使其保持最新状态
您不需要处理 ctags(尽管它们仍然可以用来跳转)
您不能在 ( 之后键入 CX CO,您只会得到“找不到模式”
你会期待什么?
你不能在普通模式下输入CX CO,光标只会跳来跳去
如果您认为这是一个常见的错误(例如nnoremap <C-x><C-o> a<C-x><C-o>
) ,您可以随时重新映射该序列
您会在顶部看到烦人的预览窗口
preview
您可以通过从completeopt
选项中删除来禁用此功能。看:help completeopt
我正在使用以下设置:
和一些 vimrc 设置:
set pumheight=10 " so the complete menu doesn't get too big
set completeopt=menu,longest " menu, menuone, longest and preview
let g:SuperTabDefaultCompletionType='context'
let g:clang_complete_auto=0 " I can start the autocompletion myself, thanks..
let g:clang_snippets=1 " use a snippet engine for placeholders
let g:clang_snippets_engine='ultisnips'
let g:clang_auto_select=2 " automatically select and insert the first match
享受!