zoukankan      html  css  js  c++  java
  • vim 自动补全

    首先确定vim编辑.cc或者.cpp文件时当前自动补全函数,在命令模式下输入
    :set omnifunc?
    如果得到的结果 为:omnifunc=ccomplete#Complete,说明有必要进行以下的操作以实现针对c++的自动补全
    1  首先安装OmniCppComplete,参见:
    安装的过程很简单,与大多数vim插件一 样,cd到~/.vim/目录解压所下载的文件即可
    2 在~/.vim/目录下创建tags子目录
    3 创建stdc++ 对应的tags:
    A)首先下载经高手修改定制的 libstdc++头文件,可以到这里下载:
    http://www.vim.org/scripts/script.php?script_id=2358
              并将其解压到~/.vim/tags
    B) 运行以下命令
    $ cd ~/.vim/tags
    $ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_src
    $ mv tags cpp
    4 按照步骤3为其他库创建tags,我选择了 openGL 与 FLTK,下面为openGL对应的命令, FLTK类似
    ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ /usr/include/GL
    mv tags gl

    5 修改~/.vimrc文件
    在其中加入以下内容:
    " configure tags - add additional tags here or comment out not-used ones
    set tags+=~/.vim/tags/cpp
    set tags+=~/.vim/tags/gl
    set tags+=~/.vim/tags/fl
    " build tags of your own project with CTRL+F12
    map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
    " OmniCppComplete
    let OmniCpp_NamespaceSearch = 1
    let OmniCpp_GlobalScopeSearch = 1
    let OmniCpp_ShowAccess = 1
    let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
    let OmniCpp_MayCompleteDot = 1 " autocomplete after .
    let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
    let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
    let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
    " automatically open and close the popup menu / preview window
    au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
    set completeopt=menuone,menu,longest,preview

  • 相关阅读:
    AJAX 后台返回多种数据
    oracle 学习摘录
    JAVA中使用FTPClient上传下载
    struts 2 学习
    js 回车事件
    @Resource和@Autowired作用和区别
    spring 常用注解
    正则表达式
    javascript 学习教程
    cxf 发布 一个简单的 webservice
  • 原文地址:https://www.cnblogs.com/hjslovewcl/p/2314365.html
Copyright © 2011-2022 走看看