dotfiles/.vimrc

128 lines
3.7 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 'APZelos/blamer.nvim'
Plugin 'airblade/vim-gitgutter'
Plugin 'Chiel92/vim-autoformat'
Plugin 'deoplete-plugins/deoplete-docker'
Plugin 'deoplete-plugins/deoplete-jedi'
Plugin 'editorconfig/editorconfig-vim'
Plugin 'junegunn/fzf'
Plugin 'junegunn/fzf.vim'
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 'majutsushi/tagbar'
Plugin 'mhinz/vim-startify'
Plugin 'preservim/nerdtree'
Plugin 'sheerun/vim-polyglot'
Plugin 'Shougo/deoplete-clangx'
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'
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
if $VIM_COLORSCHEME == "light"
set background=light
endif
set termguicolors
colorscheme solarized
call togglebg#map("<Leader>t")
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:blamer_date_format = '%c'
let g:blamer_delay = 500
let g:blamer_prefix = ' > '
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:goyo_width = 120
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 shiftwidth=4
set tabstop=4
set colorcolumn=75
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>b :BlamerToggle<CR>
nnoremap <Leader>g :Goyo<CR>
nnoremap <Leader>l :Limelight!!<CR>
" Activate Limelight when Goyo is entered
autocmd! User GoyoEnter Limelight
autocmd! User GoyoLeave Limelight!