syntax on filetype plugin on set colorcolumn=80 set background=dark set number set relativenumber set tabstop=4 " set softtabstop=4 set shiftwidth=4 set noexpandtab set smartindent set incsearch set ttimeoutlen=100 set scrolloff=5 set tw=79 set exrc set secure """""""""""""""""" Vundle set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required " Plugins Plugin 'VundleVim/Vundle.vim' Plugin 'LucHermitte/lh-vim-lib' Plugin 'LucHermitte/local_vimrc' Plugin 'tpope/vim-fugitive' "Plugin 'Smart-Tabs' Plugin 'hynek/vim-python-pep8-indent' Plugin 'tpope/vim-git' Plugin 'fs111/pydoc.vim' Plugin 'vim-syntastic/syntastic' Plugin 'itchyny/vim-haskell-indent' call vundle#end() " required filetype plugin indent on " required """""""""""""""""" 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_enable_signs=1 let g:syntastic_cpp_check_header = 1 let g:syntastic_cpp_remove_include_errors = 1 let g:syntastic_quiet_messages = {"regex":'pragma once in'} "let g:syntastic_auto_jump=1 "" LaTeX let g:syntastic_tex_checkers = [ 'chktex' ] "" Python let g:syntastic_python_python_exec = '/usr/bin/python3' "" C++ let g:syntastic_cpp_compiler_options = '-std=c++14 -Wall -Wextra' "" Disabled languages "let g:syntastic_mode_map = { 'passive_filetypes': ['python'] } let g:syntastic_python_checkers = ['pep8'] """"""""""""""""" OCaml let g:opamshare = substitute(system('opam config var share'),'\n$','','''') """" Merlin execute "set rtp+=" . g:opamshare . "/merlin/vim" let g:syntastic_ocaml_checkers = ['merlin'] """" Ocp-indent (OCaml indentation) set rtp^=g:opamshare."/ocp-indent/vim" """"""""""""""""" Trailing whitespaces fun! TrimWhitespace() let l:save_cursor = getpos('.') %s/\s\+$//e call setpos('.', l:save_cursor) endfun " Show trailing whitepace and spaces before a tab: highlight ExtraWhitespace ctermbg=darkgreen guibg=lightgreen match ExtraWhitespace /\s\+$\| \+\ze\t/ autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ """"""""""""""""" Key bindings map :w:!make imap :echo 'F1 help disabled' map :!git status map [[ :lprev map ]] :lnext map [] :ll nnoremap w :call TrimWhitespace() nnoremap K i xnoremap x :'<,'>:w !xclip -selection clipboard set tw=79 " Disable arrow keys - use hjkl, ffs. noremap noremap noremap noremap