dotfiles/.vimrc
2022-05-31 18:43:39 +02:00

153 lines
4.3 KiB
VimL

set nocompatible
filetype off
let g:polyglot_disabled = ['sensible'] " we disable vim-sensible from polyglot, as we want the real deal from tpope
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" load sensible defaults first
Plugin 'tpope/vim-sensible'
Plugin 'airblade/vim-gitgutter'
Plugin 'Chiel92/vim-autoformat'
Plugin 'deoplete-plugins/deoplete-clang'
Plugin 'deoplete-plugins/deoplete-docker'
Plugin 'deoplete-plugins/deoplete-jedi'
Plugin 'junegunn/goyo.vim'
Plugin 'junegunn/limelight.vim'
Plugin 'frankier/neovim-colors-solarized-truecolor-only'
Plugin 'freitass/todo.txt-vim'
Plugin 'itspriddle/vim-shellcheck'
Plugin 'ludovicchabant/vim-gutentags'
Plugin 'majutsushi/tagbar'
Plugin 'mhinz/vim-startify'
Plugin 'preservim/nerdtree'
Plugin 'sakhnik/nvim-gdb'
Plugin 'sheerun/vim-polyglot'
Plugin 'Shougo/deoplete.nvim'
Plugin 'Shougo/neoinclude.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-sleuth'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'wincent/terminus'
Plugin 'wokalski/autocomplete-flow'
Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'zivyangll/git-blame.vim'
if !has('nvim')
Plugin 'roxma/nvim-yarp'
Plugin 'roxma/vim-hug-neovim-rpc'
endif
call vundle#end()
augroup XML
autocmd!
autocmd FileType xml let g:xml_syntax_folding=1
autocmd FileType xml setlocal foldmethod=syntax
autocmd FileType xml :syntax on
autocmd FileType xml :%foldopen!
augroup END
colorscheme solarized
call togglebg#map("<Leader>b")
let load_doxygen_syntax = 1
let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_symbols.colnr = ' C'
let g:airline_theme='solarized'
let g:airline#extensions#tabline#enabled = 1
let g:deoplete#enable_at_startup = 1
let g:deoplete#sources#clang#libclang_path = '/usr/lib/llvm-default/lib/libclang.so.1'
let g:deoplete#sources#clang#clang_header = '/usr/lib/llvm-default/lib/clang/default/include'
let g:gitgutter_highlight_lines = 1
let g:gitgutter_highlight_linenrs = 1
let g:gutentags_generate_on_new = 1
let g:gutentags_generate_on_missing = 1
let g:gutentags_generate_on_write = 1
let g:gutentags_generate_on_empty_buffer = 0
let g:gutentags_ctags_extra_args = [
\ '--tag-relative=yes',
\ '--fields=+SailmnKz',
\ '--exclude=@.gitignore',
\ ]
let g:gutentags_ctags_exclude = [
\ '*-lock.json',
\ '*.bak',
\ '*.cache',
\ '*.hg',
\ '*.lock',
\ '*.map',
\ '*.tmp',
\ '*/tests/*',
\ '.git',
\ '.tags*',
\ 'CMakeCache.txt',
\ 'CMakeFiles',
\ 'CMakeLists.txt.user',
\ 'CMakeScripts',
\ 'CTestTestfile.cmake',
\ 'Makefile',
\ 'Testing',
\ 'cmake_install.cmake',
\ 'compile_commands.json',
\ 'docs',
\ 'install_manifest.txt',
\ 'bin',
\ 'build',
\ ]
let g:startify_fortune_use_unicode = 1
let g:startify_session_autoload = 1
let g:startify_session_persistence = 1
call deoplete#custom#var('omni', 'functions', {'lua': 'xolox#lua#omnifunc',})
set encoding=utf-8
set icon
set smartcase
set spelllang=de,en
set softtabstop=4
set tabstop=4
set colorcolumn=120
highlight ColorColumn guibg=Black ctermbg=0
set wrap
set number
set foldmethod=syntax
set foldnestmax=10
set foldlevelstart=1
set listchars=eol,tab:\»\ ,trail:~,extends:>,precedes:<,nbsp:+
set list
set updatetime=750
set tags+=$HOME/.cache/cpp_tags
" Fast split/window navigation with <Ctrl-hjkl>
noremap <C-h> <C-w><C-h>
noremap <C-j> <C-w><C-j>
noremap <C-k> <C-w><C-k>
noremap <C-l> <C-w><C-l>
"
tnoremap <C-h> <C-w><C-h>
tnoremap <C-j> <C-w><C-j>
tnoremap <C-k> <C-w><C-k>
tnoremap <C-l> <C-w><C-l>
"
inoremap <C-h> <C-o><C-w><C-h>
inoremap <C-j> <C-o><C-w><C-j>
inoremap <C-k> <C-o><C-w><C-k>
inoremap <C-l> <C-o><C-w><C-l>
" Folding toggle
inoremap <F9> <C-O>za
nnoremap <F9> za
onoremap <F9> <C-C>za
vnoremap <F9> zf
map <C-n> :NERDTreeToggle<CR>
map <C-b> :TagbarToggle<CR>
nnoremap <Leader>s :<C-u>call gitblame#echo()<CR>
nnoremap <Leader>g :Goyo<CR>
" Activate Limelight when Goyo is entered
autocmd! User GoyoEnter Limelight
autocmd! User GoyoLeave Limelight!