" Vundle set nocompatible " be iMproved, required filetype off " required scriptencoding utf-8 set encoding=utf-8 " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " let Vundle manage Vundle, required Plugin 'gmarik/Vundle.vim', {'pinned': 1} " Special syntaxes Plugin 'groenewege/vim-less' " Less Plugin 'digitaltoad/vim-jade' " Jade Plugin 'lervag/vimtex' " TeX Plugin 'andymass/vim-matchup' " TeX parentheses; see https://github.com/lervag/vimtex/issues/1143 Plugin 'derekwyatt/vim-scala' " Scala Plugin 'Shirk/vim-gas' " GNU Assembly Plugin 'git@github.com:alisdair/vim-armasm' " ARM Assembly Plugin 'git@gitlab.science.ru.nl:cstaps/vim-clean' " Clean Plugin 'git@github.com:camilstaps/vim-bb' " Blackboard feedback Plugin 'camilstaps/vim-fuspel', {'pinned': 1} " Fuspel Plugin 'camilstaps/vim-sil', {'pinned': 1} " Sil Plugin 'camilstaps/vim-smv', {'pinned': 1} " SMV Plugin 'camilstaps/vim-torxakis', {'pinned': 1} " Torxakis Plugin 'rust-lang/rust.vim' " Rust " Other plugins Plugin 'terryma/vim-multiple-cursors' " Multiple cursors Plugin 'scrooloose/syntastic' " Syntastic Plugin 'tpope/vim-surround' " cs)] to replace parenthesis pairs, e.g. Plugin 'rickhowe/diffchar.vim' " diffing on character level Plugin 'airblade/vim-gitgutter' " git diff in gutter Plugin 'godlygeek/tabular' " tabularize things call vundle#end() " End Vundle " Source some special files on writing autocmd! bufwritepost .vimrc source % autocmd! bufwritepost .Xresources !xrdb -merge % " Common settings set tabstop=4 shiftwidth=4 set cc=80 set linebreak set nu set dir=~/.swp set listchars=nbsp:¬,tab:▸\ ,extends:»,precedes:«,trail:• set nolist set tabpagemax=100 set nrformats=hex,alpha set fillchars+=fold:\ set statusline= set switchbuf=usetab,newtab filetype plugin indent on syntax enable " Colours & Highlighting colorscheme solarized highlight SpellBad cterm=underline,bold ctermfg=black ctermbg=red highlight SpellCap cterm=underline,bold ctermfg=black ctermbg=yellow highlight SpellLocal cterm=underline,bold ctermfg=black ctermbg=blue highlight SpellRare cterm=underline,bold ctermfg=black ctermbg=white highlight ColorColumn ctermfg=black ctermbg=yellow let network = system("iwconfig wlp2s0 | grep ESSID | cut -d'\"' -f2") let network = substitute(network, '\n', '', '') if index(["WiFi in de trein", "Syntus-Utrecht"], network) >= 0 set background=light else set background=dark endif map s :syn sync fromstart " Move through long lines as they were short multiple lines map gj map gk " Don't let match-up mess up the statusline let g:matchup_matchparen_status_offscreen=0 " Clean let g:clean_load_cloogle_tags = 1 let g:clean_warnings_hide_libraries = \ [ "ArgEnv" \ , "Dynamics" \ , "GraphCopy" \ , "iTasks" \ , "StdEnv" \ , "TCPIP" \ ] set statusline+=%{cleanvim#tags#statusline()} " Syntastic set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 let g:syntastic_python_checkers = ['pylint', 'pep8'] let g:syntastic_python_pylint_exec = 'pylint.sh' let g:syntastic_python_pylint_args = '--guess' let g:syntastic_mode_map = { \ "mode": "passive", \ "passive_filetypes": [] } " Git gutter set updatetime=300 " VimTeX let g:vimtex_compiler_latexmk = { \ 'callback': 0, \ 'options': [ \ '-pdf', \ '-shell-escape', \ '-enable-pipes', \ ], \ } let g:vimtex_latexmk_file_line_error = 0 let g:tex_flavor='latex' let g:matchup_override_vimtex = 1 " Assembly let asmsyntax='gas' " Mutt au BufRead /tmp/mutt-* set tw=72 " X clipboard manipulation using xsel " See: http://vim.wikia.com/wiki/Accessing_the_system_clipboard " Use :cz in visual mode to copy to clipboard, :pz for pasting " x instead of z for primary selection, v for secondary selection command! -range Cz :silent :,w !xsel -i -b command! -range Cx :silent :,w !xsel -i -p command! -range Cv :silent :,w !xsel -i -s cabbrev cv Cv cabbrev cz Cz cabbrev cx Cx command! -range Pz :silent :r !xsel -o -b command! -range Px :silent :r !xsel -o -p command! -range Pv :silent :r !xsel -o -s cabbrev pz Pz cabbrev px Px cabbrev pv Pv " For syntax definition debugging "function! SyntaxItem() " return synIDattr(synID(line("."),col("."),1),"name") "endfunction "set statusline+=%{SyntaxItem()} "set laststatus=2 " https://unix.stackexchange.com/a/243667/37050 set statusline+=%=%(%l,%c%V\ %=\ %P%)