Vim: simplify config
This commit is contained in:
227
.vim/vimrc
227
.vim/vimrc
@@ -1,121 +1,21 @@
|
|||||||
" vim:foldmethod=marker:foldlevel=0
|
|
||||||
|
|
||||||
"set viminfo+=n~/.vim/viminfo
|
|
||||||
|
|
||||||
" Basic configuration {{{
|
|
||||||
|
|
||||||
if &compatible
|
if &compatible
|
||||||
set nocompatible
|
set nocompatible
|
||||||
set modelines=1
|
set modelines=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Plugins {{{
|
|
||||||
"
|
|
||||||
call plug#begin('~/.vim/bundle')
|
call plug#begin('~/.vim/bundle')
|
||||||
|
|
||||||
" Completion engines {{{
|
|
||||||
"Plug 'Valloric/YouCompleteMe'
|
|
||||||
"Plug 'zxqfl/tabnine-vim'
|
|
||||||
"Plug 'lifepillar/vim-mucomplete'
|
|
||||||
"Plug 'Shougo/neocomplete.vim'
|
|
||||||
"Plug 'lyuts/vim-rtags'
|
|
||||||
"Plug 'JBakamovic/cxxd-vim'
|
|
||||||
"Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
|
||||||
"Plug 'jackguo380/vim-lsp-cxx-highlight'
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Mappings {{{
|
|
||||||
"Plug 'milkypostman/vim-togglelist' " Map of quickfix toggles
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Code development helpers {{{
|
|
||||||
"Plug 'rhysd/vim-clang-format'
|
|
||||||
Plug 'tpope/vim-commentary' " Toggle C style comments with gc
|
|
||||||
"Plug 'KabbAmine/zeavim.vim' " gz to open zeal
|
|
||||||
Plug 'mbbill/undotree'
|
|
||||||
"Plug 'kkoomen/vim-doge'
|
|
||||||
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
|
|
||||||
Plug 'wellle/context.vim'
|
|
||||||
Plug 'svermeulen/vim-yoink'
|
Plug 'svermeulen/vim-yoink'
|
||||||
Plug 'will133/vim-dirdiff'
|
Plug 'will133/vim-dirdiff'
|
||||||
"Plug 'n0v1c3/vira'
|
|
||||||
Plug 'dbeniamine/cheat.sh-vim'
|
|
||||||
Plug 'puremourning/vimspector'
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Files switch, jump and grep-like tools {{{
|
|
||||||
"Plug 'ericcurtin/CurtineIncSw.vim' "Toggle .c .h files
|
|
||||||
Plug 'preservim/nerdtree' | Plug 'Xuyuanp/nerdtree-git-plugin'
|
|
||||||
"Plug 'mileszs/ack.vim' " Ack integration
|
|
||||||
Plug 'junegunn/fzf.vim'
|
|
||||||
"Plug 'fholgado/minibufexpl.vim'
|
|
||||||
Plug 'ludovicchabant/vim-gutentags' "Auto generate tags
|
|
||||||
Plug 'liuchengxu/vista.vim'
|
|
||||||
Plug 'wellle/targets.vim'
|
|
||||||
Plug 'inside/vim-search-pulse'
|
|
||||||
Plug 'mattboehm/vim-accordion'
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Git integration {{{
|
|
||||||
Plug 'mhinz/vim-signify' " Mark edited lines - faster gitgutter
|
|
||||||
"Plug 'rhysd/git-messenger.vim' " show git history
|
|
||||||
"Plug 'tpope/vim-fugitive' " Git integration
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Syntax for random filetypes {{{
|
|
||||||
Plug 'plasticboy/vim-markdown'
|
|
||||||
Plug 'kergoth/vim-bitbake' " Bitbake templates and syntax
|
|
||||||
"Plug 'vim-scripts/DoxygenToolkit.vim' " Doxygen support
|
|
||||||
Plug 'pboettch/vim-cmake-syntax'
|
|
||||||
Plug 'aklt/plantuml-syntax'
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Colorschemes {{{
|
|
||||||
"Plug 'flazz/vim-colorschemes' " lots of colorschemes
|
|
||||||
"Plug 'jeaye/color_coded'
|
|
||||||
"Plug 'thiagoalessio/rainbow_levels.vim'
|
|
||||||
"Plug 'fielding/vice'
|
|
||||||
"Plug 'whatyouhide/vim-gotham'
|
|
||||||
"Plug 'chuling/ci_dark'
|
|
||||||
"Plug 'adrian5/oceanic-next-vim'
|
|
||||||
Plug 'jaredgorski/spacecamp'
|
Plug 'jaredgorski/spacecamp'
|
||||||
"Black and white:
|
|
||||||
"Plug 'ewilazarus/preto'
|
|
||||||
"Plug 'andreasvc/vim-256noir'
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Other plugins (external tools, etc) {{{
|
|
||||||
Plug 'junegunn/goyo.vim'
|
|
||||||
"Plug 'jez/vim-superman' "vman application
|
|
||||||
"Plug 'vimwiki/vimwiki'
|
|
||||||
"Plug 'metakirby5/codi.vim' " live coding
|
|
||||||
Plug 'vim-airline/vim-airline' | Plug 'vim-airline/vim-airline-themes'
|
|
||||||
Plug 'mhinz/vim-startify'
|
|
||||||
Plug 'vim-pandoc/vim-pandoc' | Plug 'vim-pandoc/vim-pandoc-syntax'
|
|
||||||
Plug 'JMcKiern/vim-shoot'
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
call plug#end() " required
|
call plug#end() " required
|
||||||
|
|
||||||
" Packages {{{
|
|
||||||
"packadd termdebug
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" TAB settings {{{
|
|
||||||
|
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
set shiftwidth=4
|
set shiftwidth=4
|
||||||
set softtabstop=4
|
set softtabstop=4
|
||||||
set expandtab
|
set expandtab
|
||||||
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" More Common Settings {{{
|
|
||||||
|
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
set scrolloff=10
|
set scrolloff=10
|
||||||
set autoindent
|
set autoindent
|
||||||
@@ -135,14 +35,8 @@ set backspace=eol,indent,start
|
|||||||
" statusline {{{
|
" statusline {{{
|
||||||
set statusline=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P
|
set statusline=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P
|
||||||
set laststatus=2
|
set laststatus=2
|
||||||
" Vista configuration
|
|
||||||
function! NearestMethodOrFunction() abort
|
|
||||||
return get(b:, 'vista_nearest_method_or_function', '')
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
set statusline+=\ "comment to remove trailing space
|
set statusline+=\ "comment to remove trailing space
|
||||||
set statusline+=%{NearestMethodOrFunction()}
|
|
||||||
" }}}
|
|
||||||
set number
|
set number
|
||||||
set relativenumber
|
set relativenumber
|
||||||
" Make Vim to handle long lines nicely.
|
" Make Vim to handle long lines nicely.
|
||||||
@@ -166,17 +60,12 @@ set shell=/bin/bash
|
|||||||
set path+=**
|
set path+=**
|
||||||
set updatetime=100
|
set updatetime=100
|
||||||
set nospell
|
set nospell
|
||||||
set runtimepath+=/usr/share/vim/vimfiles
|
|
||||||
set spelllang=en
|
set spelllang=en
|
||||||
" Dictionary path, from which the words are being looked up.
|
" Dictionary path, from which the words are being looked up.
|
||||||
set dictionary+=/usr/share/dict/words
|
set dictionary+=/usr/share/dict/words
|
||||||
set clipboard=unnamed
|
set clipboard=unnamed
|
||||||
|
|
||||||
set exrc
|
"set exrc
|
||||||
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Undofile {{{
|
|
||||||
|
|
||||||
if exists("+undofile")
|
if exists("+undofile")
|
||||||
if isdirectory($HOME . '/.vim/undo') == 0
|
if isdirectory($HOME . '/.vim/undo') == 0
|
||||||
@@ -186,19 +75,6 @@ if exists("+undofile")
|
|||||||
set undofile
|
set undofile
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Ctags {{{
|
|
||||||
if isdirectory($HOME . '/.vim/tags') == 0
|
|
||||||
:silent !mkdir -p ~/.vim/tags > /dev/null 2>&1
|
|
||||||
endif
|
|
||||||
let g:gutentags_cache_dir='~/.vim/tags'
|
|
||||||
"let g:gutentags_ctags_extra_args=['--fields=+l']
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Mappings {{{
|
|
||||||
" Editing {{{
|
|
||||||
"Changing Leader Key
|
|
||||||
let mapleader = "\\"
|
let mapleader = "\\"
|
||||||
|
|
||||||
"nnoremap j gj
|
"nnoremap j gj
|
||||||
@@ -243,78 +119,14 @@ set pastetoggle=<F3>
|
|||||||
" This causes issues with FZF
|
" This causes issues with FZF
|
||||||
"tnoremap <Esc> <C-W><C-W>
|
"tnoremap <Esc> <C-W><C-W>
|
||||||
|
|
||||||
nnoremap S :%s//g<LEFT><LEFT>
|
|
||||||
xnoremap S :s//g<LEFT><LEFT>
|
|
||||||
xmap <BS> x
|
|
||||||
|
|
||||||
nnoremap <leader><space> :nohlsearch<cr>
|
nnoremap <leader><space> :nohlsearch<cr>
|
||||||
|
|
||||||
" }}}
|
|
||||||
" Plugins {{{
|
|
||||||
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
|
|
||||||
|
|
||||||
nmap <silent> gd <Plug>(coc-definition)
|
|
||||||
nmap <silent> gy <Plug>(coc-type-definition)
|
|
||||||
nmap <silent> gi <Plug>(coc-implementation)
|
|
||||||
nmap <silent> gr <Plug>(coc-references)
|
|
||||||
|
|
||||||
nnoremap <silent> <space>k :call <SID>show_documentation()<CR>
|
|
||||||
|
|
||||||
"xmap <leader>f <Plug>(coc-format-selected)
|
|
||||||
"nmap <leader>f <Plug>(coc-format-selected)
|
|
||||||
|
|
||||||
" Show all diagnostics
|
|
||||||
nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
|
|
||||||
" Manage extensions
|
|
||||||
nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
|
|
||||||
" Show commands
|
|
||||||
nnoremap <silent> <space>c :<C-u>CocList commands<cr>
|
|
||||||
" Find symbol of current document
|
|
||||||
nnoremap <silent> <space>o :<C-u>CocList outline<cr>
|
|
||||||
" Search workspace symbols
|
|
||||||
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
|
|
||||||
" Do default action for next item.
|
|
||||||
nnoremap <silent> <space>j :<C-u>CocNext<CR>
|
|
||||||
" Do default action for previous item.
|
|
||||||
nnoremap <silent> <space>k :<C-u>CocPrev<CR>
|
|
||||||
" Resume latest coc list
|
|
||||||
nnoremap <silent> <space>p :<C-u>CocListResume<CR>
|
|
||||||
|
|
||||||
let g:UltiSnipsExpandTrigger="<tab>"
|
|
||||||
let g:UltiSnipsJumpForwardTrigger="<CR>"
|
|
||||||
let g:UltiSnipsJumpBackwardTrigger="<leader>p"
|
|
||||||
|
|
||||||
" yoink configuration
|
" yoink configuration
|
||||||
nmap <leader>yp <plug>(YoinkPostPasteSwapBack)
|
nmap <leader>yp <plug>(YoinkPostPasteSwapBack)
|
||||||
nmap <leader>yn <plug>(YoinkPostPasteSwapForward)
|
nmap <leader>yn <plug>(YoinkPostPasteSwapForward)
|
||||||
nmap p <plug>(YoinkPaste_p)
|
nmap p <plug>(YoinkPaste_p)
|
||||||
nmap P <plug>(YoinkPaste_P)
|
nmap P <plug>(YoinkPaste_P)
|
||||||
|
|
||||||
" Mapping to NERDTree
|
|
||||||
nnoremap <leader>t :NERDTreeToggle<CR>
|
|
||||||
let NERDTreeIgnore=['\.vim$', '\~$', '\.pyc$']
|
|
||||||
"nnoremap <C-n> :e .<CR>
|
|
||||||
"let g:netrw_banner=0
|
|
||||||
"let g:netrw_wisize=20
|
|
||||||
"let g:netrw_liststyle=3
|
|
||||||
"let g:netrw_lolcalrmdir='rm -r'
|
|
||||||
"nnoremap <leader>n :Lexplore<CR>
|
|
||||||
|
|
||||||
" Tagbar key bindings."
|
|
||||||
"nmap <leader>t :TlistToggle<cr>
|
|
||||||
|
|
||||||
nnoremap <leader>ff :FZF!<CR>
|
|
||||||
nnoremap <leader>fl :Lines!<CR>
|
|
||||||
nnoremap <leader>fb :Buffers<CR>
|
|
||||||
inoremap <leader>fs <ESC>:Snippets!<CR>
|
|
||||||
nnoremap <leader>fa :Rg! <C-R><C-W><CR>
|
|
||||||
|
|
||||||
" Disable context.vim on json files
|
|
||||||
let g:context_filetype_blacklist = ["json"]
|
|
||||||
|
|
||||||
" }}}
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Wildmenu completion {{{
|
" Wildmenu completion {{{
|
||||||
set wildmenu
|
set wildmenu
|
||||||
set wildmode=list:longest
|
set wildmode=list:longest
|
||||||
@@ -351,18 +163,6 @@ if &term =~ '256color'
|
|||||||
" set t_ut=
|
" set t_ut=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Mini Buffer some settigns."
|
|
||||||
let g:miniBufExplMapWindowNavVim = 1
|
|
||||||
let g:miniBufExplMapWindowNavArrows = 1
|
|
||||||
let g:miniBufExplMapCTabSwitchBufs = 1
|
|
||||||
let g:miniBufExplModSelTarget = 1
|
|
||||||
let g:miniBufExplStatusLineText = ''
|
|
||||||
|
|
||||||
"Full line:
|
|
||||||
"set colorcolumn=120
|
|
||||||
"call matchadd('ColorColumn', '\%80v', 100)
|
|
||||||
|
|
||||||
" autocmd {{{
|
|
||||||
if has("autocmd")
|
if has("autocmd")
|
||||||
"restore cursor position
|
"restore cursor position
|
||||||
autocmd BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
|
autocmd BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
|
||||||
@@ -376,17 +176,8 @@ if has("autocmd")
|
|||||||
|
|
||||||
" Resize Split When the window is resized
|
" Resize Split When the window is resized
|
||||||
au VimResized * :wincmd =
|
au VimResized * :wincmd =
|
||||||
|
|
||||||
" If you want to show the nearest function in your statusline automatically
|
|
||||||
autocmd VimEnter * call vista#RunForNearestMethodOrFunction()
|
|
||||||
endif
|
endif
|
||||||
"}}}
|
|
||||||
|
|
||||||
" Folding {{{
|
|
||||||
function! FoldFormat()
|
|
||||||
let foldsize = (v:foldend - v:foldstart)
|
|
||||||
return getline(v:foldstart)."\t\t\t(".foldsize."\tmore lines)"
|
|
||||||
endfunction
|
|
||||||
set foldenable
|
set foldenable
|
||||||
set foldlevelstart=999
|
set foldlevelstart=999
|
||||||
set foldnestmax=5
|
set foldnestmax=5
|
||||||
@@ -397,8 +188,6 @@ if has('folding')
|
|||||||
setglobal foldopen+=jump
|
setglobal foldopen+=jump
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! FindAlternate()
|
function! FindAlternate()
|
||||||
let l:ext = 'h'
|
let l:ext = 'h'
|
||||||
let l:curr_ext = expand('%:e')
|
let l:curr_ext = expand('%:e')
|
||||||
@@ -416,10 +205,6 @@ function! FindAlternate()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
nnoremap <F6> :call FindAlternate()<CR>
|
nnoremap <F6> :call FindAlternate()<CR>
|
||||||
"let g:alternateSearchPath="sfr:../source,sfr:../src,sfr:../include,sfr:../inc,sfr:./Source,sfr:.."
|
|
||||||
"map <F6> :call CurtineIncSw()<CR>
|
|
||||||
|
|
||||||
let g:startify_custom_header = ''
|
|
||||||
|
|
||||||
setglobal complete-=i
|
setglobal complete-=i
|
||||||
setglobal virtualedit=block
|
setglobal virtualedit=block
|
||||||
@@ -428,11 +213,6 @@ setglobal shiftround
|
|||||||
set shortmess+=c
|
set shortmess+=c
|
||||||
set signcolumn=yes
|
set signcolumn=yes
|
||||||
set cmdheight=2
|
set cmdheight=2
|
||||||
"inoremap <silent><expr> <TAB>
|
|
||||||
" \ pumvisible() ? "\<C-n>" :
|
|
||||||
" \ <SID>check_back_space() ? "\<TAB>" :
|
|
||||||
" \ coc#refresh()
|
|
||||||
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
|
||||||
|
|
||||||
function! s:check_back_space() abort
|
function! s:check_back_space() abort
|
||||||
let col = col('.') - 1
|
let col = col('.') - 1
|
||||||
@@ -449,8 +229,3 @@ set cursorline
|
|||||||
highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=233 guifg=NONE guibg=#121212
|
highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=233 guifg=NONE guibg=#121212
|
||||||
autocmd InsertEnter * highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=234 guifg=NONE guibg=#1c1c1c
|
autocmd InsertEnter * highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=234 guifg=NONE guibg=#1c1c1c
|
||||||
autocmd InsertLeave * highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=233 guifg=NONE guibg=#121212
|
autocmd InsertLeave * highlight CursorLine cterm=NONE ctermfg=NONE ctermbg=233 guifg=NONE guibg=#121212
|
||||||
|
|
||||||
let g:airline_theme = 'minimalist'
|
|
||||||
let g:airline_powerline_fonts = 1
|
|
||||||
let g:airline_stl_path_style = 'short'
|
|
||||||
let g:airline_highlighting_cache = 1
|
|
||||||
|
|||||||
Reference in New Issue
Block a user