zoukankan      html  css  js  c++  java
  • Vim配置C++

    当前用户的Vim配置便存储在文件 ~/.vimrc 中,该文件的每一行便是一个配置项

    设置自动换行,在配置文件中加入如下代码:

    syntax on
    set tabstop=4
    set softtabstop=4
    set shiftwidth=4
    set expandtab
    set autoindent
    set cindent
    set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
    set nu
    set ruler

     ps:    set nonu 就是不显示行号

    Vundle

    参考:http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/

    下载vundle:

    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

    在.vimrc 中添加:

    set nocompatible                " be iMproved
    filetype off                    " required!
    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()
    
    " let Vundle manage Vundle
    Bundle 'gmarik/vundle'
    
    "my Bundle here:
    "
    " original repos on github
    Bundle 'kien/ctrlp.vim'
    Bundle 'sukima/xmledit'
    Bundle 'sjl/gundo.vim'
    Bundle 'jiangmiao/auto-pairs'
    Bundle 'klen/python-mode'
    Bundle 'Valloric/ListToggle'
    Bundle 'SirVer/ultisnips'
    Bundle 'Valloric/YouCompleteMe'
    Bundle 'scrooloose/syntastic'
    Bundle 't9md/vim-quickhl'
    " Bundle 'Lokaltog/vim-powerline'
    Bundle 'scrooloose/nerdcommenter'
    "..................................
    " vim-scripts repos
    Bundle 'YankRing.vim'
    Bundle 'vcscommand.vim'
    Bundle 'ShowPairs'
    Bundle 'SudoEdit.vim'
    Bundle 'EasyGrep'
    Bundle 'VOoM'
    Bundle 'VimIM'
    "..................................
    " non github repos
    " Bundle 'git://git.wincent.com/command-t.git'
    "......................................
    filetype plugin indent on

    安装:vim +BundleInstall +qall

    等把插件都安装完,我等了很久,有些要翻出去才能装完

    YouCompleteMe

    参考:http://valloric.github.io/YouCompleteMe/#ubuntu-linux-x64

    装完上面的插件后,打开一个cpp文件,vim提示YouCompleteMe unavailable:…… 什么的,这个时候

    cd ~/.vim/bundle/YouCompleteMe
    ./install.py

    这个时候可能会提示没有哪个module什么的,而且出现了下面这条语句,恩,执行之

     git submodule update --init --recursive 

    遇到了这个:

    fatal: Needed a single revision 无法在子模组路径 'third_party/ycmd/third_party/OmniSharpServer' 中找到当前版本

    这个时候删除掉那个文件夹即可

    等了很久,翻出去才全部下载完

    然后再执行

    ./install.py

    出现如下错误:

     pyconfig.h: 没有那个文件或目录

    找到了这个网址:https://github.com/okfn/piati/issues/65

    执行  sudo apt-get install python-dev libxml2-dev libxslt-dev 

    完成后再尝试

    ./install.py

    终于可以正常安装了,等它安装完,这个时候再打开一个cpp,会出现代码补全提示了,差不多算是搞定了?

    关闭预览,草稿

    安装完这一波插件,会自动补全了,但是会出现很恶心的预览,草稿啥的乱七八糟的占据屏幕上方一大截。

    这个时候就要用 :set completeopt=menu ,记得写在vimrc中

    注释

    如果上面的vundle中的插件都装成功了的话,nerdcommenter就是用来注释的

    <leader>cc   加注释
    <leader>cu   解开注释
    
    <leader>c<space>  加上/解开注释, 智能判断
    <leader>cy   先复制, 再注解(p可以进行黏贴)

    这里的<leader>默认是 ,不过有点远 ,可以自己设置,在配置文件中加入一条 let mapleader="," 将<leader>换成" , ”

    编译运行

    参考:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html

    在配置文件中加入代码

    map <F5> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w" 
        if &filetype == 'c' 
            exec "!g++ % -o %<"
            exec "! ./%<"
        elseif &filetype == 'cpp'
            exec "!g++ % -o %<"
            exec "! ./%<"
        endif
    endfunc

    即可按F5一键编译运行,写了个hello world 能用 ,不过应该还有一些问题,以后再折腾

    编译C++11

    g++ -std=c++11 test.cpp

    如果里面没有C++11的东西,直接g++ test.cpp 也是可以的,就会出来一个a.out的文件,然后 ./a.out 就能看到执行结果了

  • 相关阅读:
    Zabbix常见问题手册
    Shell脚本常用语句
    ZABBIX定义宏变量
    Zabbix4.0系统配置事件通知
    c++ 八皇后问题(转载)
    (c++)数据结构顺序表编码练习
    JPA的事务注解@Transactional使用总结(转)
    小程序开发流程(java后端)
    连接远程数据库,得到数据插入本地表中
    php复制目录
  • 原文地址:https://www.cnblogs.com/i-love-kobe/p/6091197.html
Copyright © 2011-2022 走看看