" basic settings set ts=4 set sw=4 set cc=120 set expandtab set nu set hidden set list set autoindent set confirm set noundofile set nobackup set hlsearch set noswapfile set ignorecase filetype plugin indent on syntax on cnoremap cnoremap cnoremap cnoremap cnoremap cnoremap cnoremap inoremap inoremap inoremap inoremap inoremap inoremap inoremap noremap noremap noremap noremap vnoremap p "_dP nnoremap q :qall " trailing spaces highlight ExtraWhitespace ctermbg=red guibg=red au ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red au Syntax * match ExtraWhitespace /\s\+$/ nnoremap es :%s/\s\+$//g " auto install vim-plug let vim_plug_path = expand("~/.config/nvim/autoload/plug.vim") let vim_plug_just_installed = 0 if !filereadable(vim_plug_path) echo "Installing vim-plug..." :exe "!curl -fLo " . vim_plug_path . " --create-dirs https://gitee.com/klesh/vim-plug/raw/master/plug.vim" let vim_plug_just_installed = 1 echo "vim-plug installed" endif call plug#begin() Plug 'editorconfig/editorconfig-vim' Plug 'tpope/vim-surround' "Plug 'jiangmiao/auto-pairs' Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'neoclide/coc-json', {'do': 'yarn install --frozen-lockfile'} Plug 'iamcco/coc-vimlsp', {'do': 'yarn install --frozen-lockfile'} Plug 'neoclide/coc-python', {'do': 'yarn install --frozen-lockfile'} Plug 'weirongxu/coc-explorer', {'do': 'yarn install --frozen-lockfile'} Plug 'liuchengxu/eleline.vim' Plug 'tpope/vim-fugitive' " git 功能 Plug 'scrooloose/nerdcommenter' Plug 'ctrlpvim/ctrlp.vim' Plug 'mhinz/vim-grepper', { 'on': ['Grepper', '(GrepperOperator)'] } call plug#end() " ==== coc configuration ==== nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) xmap fs (coc-format-selected) nmap fs (coc-format-selected) nmap fb (coc-format) nmap sd :call CocAction('doHover') nmap rn (coc-rename) nmap ne (coc-diagnostic-next-error) nmap pe (coc-diagnostic-prev-error) nmap fe :CocCommand explorer --toggle nmap if :CocInfo nmap cl :CocList nmap ol (coc-openlink) nnoremap sg :Grepper -tool git nnoremap sc :Grepper -tool grep " ==== fugitive configuration ==== nnoremap gs :Gstatus nnoremap gc :Gcommit nnoremap gp :Gpush nnoremap gg :Gpull nnoremap gd :Gdiff " ==== ctrlp configuration ==== let g:ctrlp_user_command = ['.git', 'git ls-files -co --exclude-standard']