• vim 的配置与前期准备


    1.安装 vim gcc make clang 

    2.将以下代码复制进自己的 .vimrc中

    "----------------------------------------
    "        vim 配置
    "       2014 11 23
    "----------------------------------------
    "
    set nocompatible              " be iMproved, required
    filetype off                  " required
    
    " set the runtime path to include Vundle and initialize
     set rtp+=~/.vim/bundle/Vundle.vim
     call vundle#begin()
    
     Plugin 'gmarik/Vundle.vim'
     Plugin 'taglist.vim'
     Plugin 'minibufexpl.vim'
     Plugin 'winmanager'
     Plugin 'clang-complete'
    Plugin 'supertab'
    Plugin 'scrooloose/syntastic'
    Plugin 'Lokaltog/vim-powerline'
    Plugin 'WolfgangMehner/vim-plugins'
    Bundle 'altercation/vim-colors-solarized'
    call vundle#end()            " required
    "----------基本设置----------------------
    filetype plugin indent on
    syntax on                        " 使用语法高亮
    set autoread                     " 使用不兼容 vi 的模式
    
    set autoindent                " 设置自动对齐(缩进)
    set smartindent                    " 智能对齐方式
    set wrap              " 自动换行
    set linebreak              " 整词换行
    
    set cindent                   " 使用 C/C++ 语言的自动缩进方式
    set backspace=2               " 设置退格键可用
    set mouse=a                   " 使用鼠标
    set number                   " 显示行号
    set cul                          " 显示当前行下划线
    
    set tabstop=8                    " 设置制表符(tab键)的宽度
    set softtabstop=8                " 设置软制表符的宽度
    set expandtab             " Tab替换空格
    
    scriptencoding utf-8             " 设置编码
    
    set cursorline                    " 高亮当前行
                       
    
    set nobackup
    set noswapfile                   "禁止生成临时文件
    set wildmenu                     "补全命令
    
    set scrolloff=4                  " 光标移动到buffer的顶部和底部时保持3行距离,再往下移动页面时,光标与最后一行始终保持4格的距
    
    
    "----------------tags------------------
    "---------------------------------------
    "
    "-------------------- MiniBufferExplorer 的设置----------------------
    let g:miniBufExplMapWindowNavVim=1        " 按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口
    let g:miniBufExplMapWindowNavArrows=1         " 按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口
    let g:miniBufExplMapCTabSwitchBufs=1         " Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口
    let g:miniBufExplModSelTarget=1            " 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer
    
    
    " 设置分屏浏览
    let Tlist_Show_One_File=0
    let Tlist_Exit_OnlyWindow=1
    let g:winManagerWindowLayout='FileExplorer|TagList'
    nmap wm :WMToggle<CR>
    
    "------------clang-complete-----------------
    
    "----------------------------------------------
    set completeopt=longest,menu
    let g:clang_auto_select=1
    let g:clang_complete_select=1
    let g:clang_complete_copen=1
    let g:clant_periodic_quickfix=1
    let g:clang_snippets=0  
    let g:clang_close_preview=1  
    let g:clang_use_library=1 
    "-------------设置超级TAB的补全--------------
    let g:SuperTabRetainCompletionType=0
    let g:SuperTabDefaultCompletionType="<C-X><C-U>"
    "------------------------------------------------
    "
    "------------------- powerline 配置-------------------
    set nocompatible
    set laststatus=2
    set encoding=utf-8
    set t_Co=256
    set guifont=PowerlineSymbols for 
    let g:Powerline_symbols='unicode'
    let g:Powerline_stl_path_style='full'
    "------------------------------------------------
    
    syntax enable
    set background=dark
    colorscheme solarized
    
    set foldenable      " 允许折叠 
    set fdm=marker
    set foldcolumn=0
    set foldlevel=3 "关于折叠的一些设置,但看不懂
    
    
    " 按下F5,在当前目录递归生成tag文件
    map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q<CR><CR>
    imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q<CR><CR>
    " vim 启动时自动载入以下tags文件
    set tags=tags
    set tags+=./tags
    " 用就去生成,去放
    "set tags+=/usr/local/src/linux-3.12.6/tags
    set tags+=/usr/include/Linux/tags
    set tags+=/usr/include/tags
    set tags+=/usr/include/sys/tags
    set tags+=./tags
    
    
    " QuickFix 插件的设置
    
    " 按下F6,执行make编译程序,并打开quickfix窗口,显示编译信息
    map <F6> :make<CR><CR><CR> :copen<CR><CR>
    " 按下F7,光标移到上一个错误所在的行
    map <F7> :cp<CR>
    " 按下F8,光标移到下一个错误所在的行
    map <F8> :cn<CR>
    " 按下F9,执行make clean
    map <F9> :make clean<CR><CR><CR>
    
    " 以下的映射是使上面的快捷键在插入模式下也能用
    imap <F6> <ESC>:make<CR><CR><CR> :copen<CR><CR>
    imap <F7> <ESC>:cp<CR>
    imap <F8> <ESC>:cn<CR>
    imap <F9> <ESC>:make clean<CR><CR><CR>
    
    "C,C++ 按F2编译运行
    map <F2> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w"
        if &filetype == 'c'
              exec "!gcc -g  % -o %<"
              exec ":copen"
        elseif &filetype == 'cpp'
              exec "!g++ % -o %<"
              exec "! ./%<"
        elseif &filetype == 'java' 
              exec "!javac %" 
              exec "!java %<"
        elseif &filetype == 'sh'
              :!./%
        elseif &filetype == 'py'
              exec "!python %"
              exec "!python %<"
        endif
    endfunc
    
    
    "插入模式下的非递归映射,自动补全的映射
    inoremap <C-F>  <C-X><C-D>
    
    
    " 预防手误
    cnoremap Q! q!
    cnoremap Q1 q!
    command  Q  q
    command  Wq wq
    command  WQ wq
    command  W  w
    

      3.退出。重新进入,并且在命令行中输入 PluginInstall 可以按前几个字母,然后按table 自动补全查找

          4. 等待下载完成

          5. 结束

  • 相关阅读:
    Angular基础(三) TypeScript
    Angular基础(二) 组件的使用
    Angular 2基础(一) 环境搭建
    Web API 方法的返回类型、格式器、过滤器
    WebAPI路由、参数绑定
    《ASP.NET MVC企业实战》(三)MVC开发前奏
    《ASP.NET MVC企业实战》(二) MVC开发前奏
    《ASP.NET MVC企业实战》(一) MVC开发前奏
    《Inside C#》笔记(完) 程序集
    巨杉数据库助力民生银行、广发银行前台智慧化业务
  • 原文地址:https://www.cnblogs.com/dilidingzhi/p/4125623.html
Copyright © 2020-2023  润新知