zoukankan      html  css  js  c++  java
  • 我的vim配置

          之前都在虚拟机下面捣鼓Linux,有种隔靴搔痒的感觉。为了更快地熟悉Linux系统,重新安装了Ubuntu,首先就是配置vim。

          下面是我的vim配置,为了方便,我在代码后添加注释说明。

          1.配置C/C++风格编程方式。

           sudo vi /etc/vim/vimrc,在末尾添加如下代码:

    """"""""""""""""文本格式和排版"""""""""""""""""""""
    set confirm "在处理未保存或只读文件的时候,弹出确认
    set formatoptions=tcrqn "自动格式化
    set autoindent "继承前一行的缩进模式,适用于多行注释
    set smartindent "为C程序提供自动缩进
    set smartindent "使用C样式缩进
    set tabstop=4 "制表符为4
    set softtabstop=4 "统一缩进为4
    set shiftwidth=4

    """"""""""""""""C编译和运行"""""""""""""""""""""""""
    map<F5> :call CompileRunGcc()<CR>
    fun! CompileRunGcc()
    exec "w"
    exec "!gcc % -o %<"
    exec "! ./%<"
    endfunc

    """"""""""""""""C++编译和运行"""""""""""""""""""""""
    map<C-F5> :call CompileRunGpp()<CR>
    fun! CompileRunGpp()
    exec "w"
    exec "!g++ % -o %<"
    exec "! ./%<"
    endfunc

          2.源码结构及函数列表

           $ sudo apt-get install ctags 安装ctags

           $ cd /home/luhaiyang/文档   cd到你要建立的索引目录

           $ ctags -R *  

           $ sudo vi /etc/vim/vimrc   打开vimrc,添加如下代码

    """""""""""""""""ctags setting""""""""""""""""""""""
    "按下F4重新生成tag文件,并更新taglist
    map<F4> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
    imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
    set tags=tags
    set tags+=./tags
    set tags+=~/home/luhaiyang/文档/tags "路径自己修改

    3.代码补全

    $ sudo apt-get install vim vim-scripts vim-doc

    $ vim-addons install omnicppcomplete  安装omnicppcomplete

    """""""""""""omnicppcomplete setting"""""""""""""""""
    "按下F3自动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会自动补
    全一些乱码
    imap <F3> <C-X><C-O>
    "按下F2根据头文件内关键字补全
    imap <F2> <C-X><C-I>
    set completeopt=menu,menuone " 关掉智能补全时的预览窗口
    let OmniCpp_MayCompleteDot = 1 " autocomplete with .
    let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
    let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
    let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
    let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
    let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup window
    let OmniCpp_GlobalScopeSearch=1 " enable the global scope search
    let OmniCpp_DisplayMode=1 " Class scope completion mode: always show all members
    "let OmniCpp_DefaultNamespaces=["std"]
    let OmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove the last column
    let OmniCpp_ShowAccess=1

     

    $ctags -R --c++-kinds=+p --fields=+iaS --extra=+q  生成tags文件,可以与omnicppcomplete配合运作

    $ sudo apt-get install build-essential 下载C++标准库

    $ cd /usr/inclde/c++

    $ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q  生成tags文件

    $ sudo vi /etc/vim/vimrc 添加下面一行

    set tags+=/usr/include/c++/tags

     

    4.提示函数原型

    echofunc下载地址。将文件放到/ect/vim/下。

    $ ctags -R --fields=+IS   创建tags文件

     

    希望能够帮助到大家!

     

    参考:

    http://blog.csdn.net/jack_incredible/article/details/7261908

    http://www.vimer.cn/2009/10/把vim打造成一个真正的ide1.html

     

     

     



     

  • 相关阅读:
    Educational Codeforces Round 11 复盘
    Tarjan 杂题选讲
    2021-10-31 两校联考 题解
    COCI19-20#6 Trener & COI2020 题解
    CSP 2021 游记
    Educational Codeforces Round 9 题解
    Educational Codeforces Round 8 部分题解
    Educational Codeforces Round 7 部分题解
    CSP2021自闭记
    二项式系数相关恒等式的记录与复习
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3445519.html
Copyright © 2011-2022 走看看