在Linux下C/C++编程vim初步配置


.vimrc文件


"********************************************************
"                   一般性配置                          *
"********************************************************
 
"关闭vim一致性原则
set nocompatible
 
"显示行号
set number
 
"设置在编辑过程中右下角显示光标的行列信息
set ruler
 
"在状态栏显示正在输入的命令
set showcmd
 
"设置历史记录条数
set history=1000
 
"设置取消备份 禁止临时文件的生成
set nobackup
set noswapfile
 
"设置匹配模式
set showmatch
 
"设置C/C++方式自动对齐
set autoindent
set cindent
 
"开启语法高亮功能
syntax enable
syntax on
 
"指定配色方案为256色
set t_Co=256
 
"设置搜索时忽略大小写
set ignorecase
 
"配置backspace的工作方式
set backspace=indent,eol,start
 
"设置在vim中可以使用鼠标
set mouse=a
 
"设置tab宽度
set tabstop=4
 
"设置自动对齐空格数
set shiftwidth=4
 
"设置退格键时可以删除4个空格
set smarttab
set softtabstop=4
 
"将tab键自动转换为空格
set expandtab
 
"设置编码方式
set encoding=utf-8
 
"自动判断编码时 依次尝试以下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
 
"检测文件类型
filetype on
 
"针对不同的文件采取不同的缩进方式
filetype indent on
 
"允许插件
filetype plugin on
 
"启动智能补全
filetype plugin indent on
 
 
"*********************************************************
"                  vundle 配置                           *
"*********************************************************
 
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
 
" let Vundle manage Vundle
Bundle 'gmarik/vundle'
  
" My Bundles here:
 
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
Bundle 'taglist.vim'
Bundle 'The-NERD-tree'
Bundle 'Syntastic'
Bundle 'L9'
Bundle 'FuzzyFinder'
Bundle 'Lokaltog/vim-powerline'
Bundle 'Valloric/YouCompleteMe' 
   
 
"*****************************************************
"                   taglist配置                      *
"*****************************************************
 
"不显示"press F1 to display help"
let Tlist_Compact_Format=1
 
"窗口在左侧显示
let Tlist_Use_Right_Window=1
 
"只显示当前文件的tags
let Tlist_Show_One_File=1  
 
"高亮显示
let Tlist_Auto_Highlight_tag=1
 
"随文件自动更新
let Tlist_Auto_Update=1
 
"设置宽度
let Tlist_WinWidth=30       
 
"taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=1 
 
"单击跳转
let Tlist_Use_SingClick=1
 
"打开关闭快捷键
nnoremap <silent> <F8> :TlistToggle<CR>
 
 
 
 
"********************************************************
"                      NERD_Tree 配置                   *
"********************************************************
 
"显示增强
let NERDChristmasTree=1
 
"自动调整焦点
let NERDTreeAutoCenter=1
 
"鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2
 
"打开文件后自动关闭
let NERDTreeQuitOnOpen=1
 
"显示文件
let NERDTreeShowFiles=1
 
"显示隐藏文件
let NERDTreeShowHidden=1
 
"高亮显示当前文件或目录
let NERDTreeHightCursorline=1
 
"显示行号
let NERDTreeShowLineNumbers=1
 
"窗口位置
let NERDTreeWinPos='left'
 
"窗口宽度
let NERDTreeWinSize=31
 
"不显示'Bookmarks' label 'Press ? for help'
let NERDTreeMinimalUI=1
 
"快捷键
nnoremap <silent> <F4> :NERDTreeToggle<CR>
 
 
 
"*****************************************************
"           YouCompleteMe配置                        *
"*****************************************************
 
"leader映射为逗号“,”
let mapleader = ","  
 
"配置默认的ycm_extra_conf.py
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' 
 
"按,jd 会跳转到定义
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>   
 
"打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_confirm_extra_conf=0   
 
"使用ctags生成的tags文件
let g:ycm_collect_identifiers_from_tag_files = 1 
 
 
"*****************************************************
"           Syntastic配置                            *
"*****************************************************
 
 
let g:Syntastic_check_on_open=1

效果图:


vim


vim效果图


用到的主要插件:


  • vundle(用于插件管理)
  • taglist(显示代码结构)
  • NERD_Tree(树形目录)
  • YouCompleteMe(智能补全)
  • Syntastic( 语法检查)
作者译者: 零度王爵

阅读更多

扫码向博主提问

18553514996

非学,无以致疑;非问,无以广识
去开通我的Chat快问

没有更多推荐了,返回首页