.vimrc 文件

"""""""""""""""""""""""""""""插件相关"""""""""""""""""""""""""""""""""""""""""""
set nocompatible                 " be iMproved, required 
filetype off                           " required 
set rtp+=~/.vim/bundle/Vundle.vim 

call vundle#begin() 
Plugin 'VundleVim/Vundle.vim'           "中间添加需要安装的插件 

Plugin 'scrooloose/nerdtree'
Plugin 'scrooloose/nerdcommenter'
Plugin 'jiangmiao/auto-pairs'
Plugin 'vim-airline/vim-airline'
Plugin 'Valloric/YouCompleteMe'
Plugin 'mhinz/vim-startify'
Plugin 'majutsushi/tagbar'
Plugin 'nine2/vim-copyright'
Plugin 'DoxygenToolkit.vim'
call vundle#end()                         " required
filetype plugin indent on               " required





" nerdtree
nnoremap <leader>t :NERDTreeToggle<CR>       "\t 打开关闭NERDTree
nnoremap <C-n> :NERDTreeToggle<CR>           " Ctr+n  打开或关闭NERDTree

let NERDTreeIgnore=['\.pyc','\~$','\.swp']     "忽略带此后缀名的文件
let NERDTreeShowLineNumbers=1            "NERDTree显示行号

autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif "NERDTree是最后一个窗口,自动关闭
autocmd FileType nerdtree noremap <buffer> <tab> <nop>     "tab 键对于nerdtree窗口无效(防止在nerdtree窗口切换buffer)
autocmd FileType nerdtree noremap <buffer> <S-tab> <nop>   "Shift-tab 键对于nerdtree窗口无效






" nerdcommenter
let g:NERDSpaceDelims = 1         " Add spaces after comment delimiters by default
let g:NERDTrimTrailingWhitespace = 1    "uncomment的时候,修减行末的空格
let g:NERDDefaultAlign = 'left'             "左对齐 注释符
let g:NERDCompactSexyComs = 1      " 和上一个一起使用,多行注释 ,注释符全部都在行首
let g:NERDCustomDelimiters = { 'c': { 'left': '//' } }    "自定义注释符 比如 'c': { 'left': '/*','right': '*/' }






"auto-pairs
let g:AutoPairsFlyMode =1  "飞行模式开启,默认不开启,可以跨括号跳出,如  ([foo|])  按)之后会直接跳出来 ([foo]) |
let g:AutoPairsMapSpace = 1 " 把SPACE键映射为在括号两侧添加空格






"vim-airline
"\1 映射成 :选择第一个buffer 
map <leader>1 <Plug>AirlineSelectTab1
map <leader>2 <Plug>AirlineSelectTab2 
map <leader>3 <Plug>AirlineSelectTab3 
map <leader>4 <Plug>AirlineSelectTab4 
map <leader>5 <Plug>AirlineSelectTab5 
map <leader>6 <Plug>AirlineSelectTab6 
map <leader>7 <Plug>AirlineSelectTab7 
map <leader>8 <Plug>AirlineSelectTab8 
map <leader>9 <Plug>AirlineSelectTab9

let g:airline#extensions#tabline#enabled = 1            " Enable the list of buffers
let g:airline#extensions#tabline#fnamemod = ':t'        " Show just the filename







"vim-startify
let g:startify_files_number = 5         "每个列表长度
let g:startify_session_autoload = 1  "自动会话
" 设置书签
let g:startify_bookmarks = [       
            \ '~/Project/test.cpp',
            \]






"tagbar
nnoremap <F8> :TagbarToggle<CR>    " F8(有的笔记本是Fn+F8)打开关闭tagbar

let g:tagbar_ctags_bin = '/usr/bin/ctags'     " tagbar依赖ctags(先安装)
let g:tagbar_autofocus = 1         "打开tagbar的时候,跳到tagbar的窗口,默认在文件窗口
"let g:tagbar_left = 1       让tagbar在页面左侧显示,默认右边
"let g:tagbar_width = 30      设置tagbar的宽度为30列,默认40







"YouCompleteMe
nnoremap <F9> :YcmDiags<CR>   
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>

set runtimepath+=~/.vim/bundle/YouCompleteMe
set completeopt-=preview      " 在接受补全后不分裂出一个窗口显示接受的项
let g:ycm_global_ycm_extra_conf ='~/.vim/bundle/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py'
let g:ycm_seed_identifiers_with_syntax = 1       "关键字补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查
let g:ycm_cache_omnifunc=0
let g:ycm_collect_identifiers_from_tags_files=1
let g:ycm_use_ultisnips_completer=0





"vim-copyright
let g:file_copyright_name = "julian Andrison"    
let g:file_copyright_email = "15544925950@163.com"
let g:file_copyright_auto_filetypes = ['sh', 'plx', 'pl', 'pm', 'py', 'python', 'h', 'hpp', 'c', 'cpp', 'java'] "新建这些文件的时候会自动添加文件头

nnoremap <leader>a :CopyrightAdd<CR>          "在现有的文件添加
nnoremap <leader>u :CopyrightUpdate<CR>       "跟新现有的文件





"DoxygenToolkit.vim
let g:DoxygenToolkit_briefTag_funcName = "yes"
let g:DoxygenToolkit_briefTag_pre = "@brief: "
let g:DoxygenToolkit_paramTag_pre="@param: " 
let g:DoxygenToolkit_returnTag="@returns: "

nnoremap <leader>d :Dox<CR>







"""""""""""""""""""""""""""""""""""""""""按键映射"""""""""""""""""""""""""""""""""

"copy ,paste 之后 光标移到后面
vmap <C-c> "+y    
nmap <C-v> "+gp    

" 原来的Ctr+v是 块选择,需要重新map,注意使用非递归,否则将映射到"+gp 
nnoremap <leader>v <C-v>  

"切换缓冲区
nnoremap <tab> :bn<CR>
nnoremap <S-tab> :bp<CR>

"删除缓冲区
nnoremap <S-c> :bp\|bd #<CR>

"光标移动到指定窗口
nnoremap <C-j> <C-w>j        
nnoremap <C-k> <C-w>k      
nnoremap <C-h> <C-w>h    
nnoremap <C-l> <C-w>l        







"函数、操作

set hidden "允许在有未保存的修改时切换缓冲区
set nu
set shiftwidth=4 "设置缩进为4,shift+<<的缩进
set softtabstop=4 "设置tab键为4
"set mouse=a
syntax on  

"set path+=/usr/local/include/  " 设置path ,可以在vim 按 gf 打开头文件 再按Ctrl+o退出
set path+=/usr/local/include/
set path+=/usr/include/x86_64-linux-gnu/c++/5.4.0/bits
set path+=/usr/include/c++/5.4.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值