set encoding=utf-8
set t_Co=256
set autoindent
set tabstop=2
set shiftwidth=4
set expandtab
set softtabstop=4
set number
set textwidth=80
set wrap
set nowrap
set linebreak
set wrapmargin=2
set scrolloff=5
set sidescrolloff=15
set laststatus=2
set ruler
set showmatch
set hlsearch
set incsearch
set ignorecase
set smartcase
set cul
set cuc
hi CursorLine cterm=NONE ctermbg=black ctermfg=white guibg=NONE guifg=NONE
set nobackup
set noswapfile
set autochdir
set noerrorbells
set history=500
set autoread
set listchars=tab:»■,trail:■
set list
set wildmenu
set wildmode=longest:list,full
set tags=tags
"" 插件
call plug#begin('~/.vim/plugged')
Plug 'itchyny/lightline.vim'
"" 彩虹括号
Plug 'luochen1990/rainbow'
"" 历史记录
Plug 'mhinz/vim-startify'
"" 轻量级代码补全
Plug 'skywind3000/vim-auto-popmenu'
Plug 'skywind3000/vim-dict'
Plug 'scrooloose/nerdtree'
Plug 'junegunn/fzf'
Plug 'rking/ag.vim'
Plug 'jiangmiao/auto-pairs'
Plug 'ervandew/supertab'
Plug 'w0rp/ale'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()
" NERDTree config
map <F5> :NERDTreeMirror<CR>
map <F5> :NERDTreeToggle<CR>
" 彩虹插件配置生效
let g:rainbow_active = 1 "0 if you want to enable it later via :RainbowToggle
" fzf
map <C-P> :FZF<CR>
" ale
" ale-setting {{{
let g:ale_set_highlights = 0
"自定义error和warning图标
let g:ale_sign_error = '✗'
let g:ale_sign_warning = '⚡'
"在vim自带的状态栏中整合ale
let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']
"显示Linter名称,出错或警告等相关信息
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
"打开文件时不进行检查
let g:ale_lint_on_enter = 0
"普通模式下,sp前往上一个错误或警告,sn前往下一个错误或警告
nmap sp <Plug>(ale_previous_wrap)
nmap sn <Plug>(ale_next_wrap)
"<Leader>s触发/关闭语法检查
nmap <Leader>s :ALEToggle<CR>
"<Leader>d查看错误或警告的详细信息
nmap <Leader>d :ALEDetail<CR>
"使用clang对c和c++进行语法检查,对python使用pylint进行语法检查
let g:ale_linters = {
\ 'c++': ['clang'],
\ 'c': ['clang'],
\ 'python': ['pylint'],
\}
" }}}
我的 ~/.vimrc
于 2019-12-27 21:33:15 首次发布