vim.rc配置(deepin)

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()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
"Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
"Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}

Plugin 'mhinz/vim-startify'


Plugin 'aperezdc/vim-template'
Plugin 'thinca/vim-quickrun'
Plugin 'jiangmiao/auto-pairs'

Plugin 'Chiel92/vim-autoformat'

"" Theme Plugin
Plugin 'sjl/badwolf'


" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line


"" display settings
set t_Co=256
syntax enable
syntax on
set background=dark
colorscheme badwolf


set cursorline
set cursorcolumn
set number


" file encoding
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

" enable mouse
set mouse=a

" indent
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4

" fold
set nofoldenable
set foldmethod=syntax

" search
set hlsearch
set incsearch

" case
set ignorecase
set smartcase

" keep 200 lines of command line history
set history=200

" Show a few lines of context around the cursor.
" Note that this makes the text scroll
" if you mouse-click near the start or end of the window.
set scrolloff=5
set sidescrolloff=5

" display completion matches in a status line
set wildmenu
" display incomplete commands
set showcmd

" Allow backspacing over everything in insert mode.
set backspace=eol,start,indent

" Use ; as <Leader>
let mapleader = ";"

" Quick select whole file
nnoremap <Leader>a ggVG
" Quick save or quit file
nnoremap <Leader>w :w<CR>
nnoremap <Leader>q :q<CR>
nnoremap <Leader>fq :q!<CR>


" Copy to and paste from system clipboard
nnoremap <Leader>y "+y
nnoremap <Leader>p "+p
nnoremap <Leader>fz ggVG"+y

" vim smart autocomplete
set wildmenu

" man the information
nnoremap <Leader>man :Man <cword><CR>

 


"""" Plugin settings
" vim-startify
let g:startify_files_number = 20

" vim-template
let g:templates_no_autocmd=1
let g:templates_directory='~/.vim/templates'
nnoremap <Leader>tp2 :Template tp2<CR>

" vim-quickrun
let g:quickrun_config = {
\ "_" : {
\ "outputter" : "message",
\ },
\}

let g:quickrun_no_default_key_mappings = 1
nmap <F5> <Plug>(quickrun)

" YouCompleteMe
let g:ycm_collect_identifiers_from_tags_files=1
set tags+=~/.tags/stdcpp.tags
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
let g:ycm_complete_in_comments=1
let g:ycm_cache_omnifunc=0
let g:ycm_seed_identifiers_with_syntax=1
set completeopt-=preview

" Airline
let g:airline_theme='luna'
let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_symbols.linenr = '&'

" AutoFormat
let g:formatdef_my_cpp = '"astyle --style=google"'
let g:formatters_cpp = ['my_cpp']
"au BufWrite * :Autoformat
nmap <Leader>fmt <Plug>(Autoformat)

""" My Own Function
func! CppDebug()
exe "silent !g++ -O0 -std=c++14 -g % -o %<"
exe "!gdb %<"
exe "silent !rm -rf %<"
endfunc
nnoremap <Leader>db :call CppDebug()<CR>

map <F6> :call Run()<CR>

func! Run()
exe "silent w"
exe "silent !g++ % -o %<"
exe "!./%<"
exe "silent !rm %<"
endf

posted @ 2018-11-21 10:00  erge1998  阅读(471)  评论(0编辑  收藏  举报