" VIM Configuration - Geoffrey FROGEYE " set nocompatible filetype off """ PLUGINS MANAGEMENT """ " NOTE 18-06-24 Got rid of Vundle in favor of vim-plug (why: more recent, supports " Neovim, simpler). Commented out plugins that seemed useless, feel free to " uncomment them again if you need to " Auto-install vim-plug if empty(glob('~/.vim/autoload/plug.vim')) silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim autocmd VimEnter * PlugInstall --sync | source $MYVIMRC endif " Plugin definition call plug#begin() " Plug 'L9' " Plug 'rstacruz/sparkup', {'rtp': 'vim/'} Plug 'tomasr/molokai' Plug 'tpope/vim-surround' " Plug 'tpope/vim-fugitive' " Plug 'tpope/vim-repeat' Plug 'tpope/tpope-vim-abolish' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'airblade/vim-gitgutter' Plug 'mbbill/undotree' Plug 'xolox/vim-misc' " Required for 'xolox/vim-easytags' Plug 'xolox/vim-easytags' Plug 'majutsushi/tagbar' Plug 'wellle/targets.vim' Plug 'Chiel92/vim-autoformat' Plug 'tomtom/tcomment_vim' " Plug 'Shougo/denite.nvim' " Plug 'tomlion/vim-solidity' " Plug 'godlygeek/tabular' " Plug 'jrozner/vim-antlr' Plug 'maralla/completor.vim' Plug 'python-mode/python-mode', { 'branch': 'develop' } Plug 'junegunn/fzf', {'do': './install --bin'} Plug 'junegunn/fzf.vim' Plug 'ervandew/supertab' Plug 'dpelle/vim-LanguageTool' call plug#end() """ UNDOTREE """ nmap <F7> :UndotreeToggle<CR> """ TAGBAR """ nmap <F8> :TagbarToggle<CR> """ VIM-AIRLINE """ set noshowmode set laststatus=2 let g:airline_powerline_fonts = 1 " let g:airline#extensions#syntastic#enabled = 1 let g:airline#extensions#tabline#enabled = 1 let g:airline_section_a = airline#section#create(['mode']) let g:airline_section_b = airline#section#create(['branch', 'hunks']) let g:airline_section_z = airline#section#create(['%B', '@', '%l', ':', '%c']) let g:airline_theme = 'wombat' """ AUTOFORMAT """ nmap <F3> :Autoformat<CR> """ PYMODE """ let g:pymode_lint_ignore = ["W0401"] let g:pymode_lint_cwindow = 0 " TODO Even with magic pymod_motion complains about the option `magic&` being not set :/ let g:pymode_motion = 0 set magic """ FZF """ let g:fzf_layout = { 'down': '~100%' } let g:fzf_colors = \ { 'fg': ['fg', 'Normal'], \ 'bg': ['bg', 'Normal'], \ 'hl': ['fg', 'Comment'], \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], \ 'hl+': ['fg', 'Statement'], \ 'info': ['fg', 'PreProc'], \ 'border': ['fg', 'Ignore'], \ 'prompt': ['fg', 'Conditional'], \ 'pointer': ['fg', 'Exception'], \ 'marker': ['fg', 'Keyword'], \ 'spinner': ['fg', 'Label'], \ 'header': ['fg', 'Comment'] } nmap gF :Files<CR> nmap gf :GFiles<CR> nmap gb :Buffers<CR> nmap gL :Lines<CR> nmap gl :BLines<CR> nmap gT :Tags<CR> nmap gt :BTags<CR> nmap gm :Marks<CR> nmap gw :Windows<CR> nmap gh :History<CR> nmap gH :History:<CR> nmap gS :History/<CR> nmap gs :Snippets<CR> " TODO `gd` → go to tag matching selected word, or show a list with that " of tags pre-filtered with that word """ SUPERTAB """ let g:SuperTabDefaultCompletionType = "<c-n>" " Go down when completing let g:SuperTabContextDefaultCompletionType = "<c-n>" """ LanguageTool """ let g:languagetool_jar = "/usr/share/java/languagetool/languagetool-commandline.jar" """ VIM SETTINGS """ set encoding=utf-8 set title set number set ruler set wrap set scrolloff=5 set ignorecase set smartcase set incsearch set hlsearch set tabstop=4 set shiftwidth=4 set expandtab set visualbell set noerrorbells set backspace=indent,eol,start set hidden set updatetime=250 set cursorcolumn set splitbelow syntax enable set background=dark colorscheme molokai let g:molokai_original = 1 " From http://stackoverflow.com/a/5004785/2766106 set list set listchars=tab:╾╌,trail:·,extends:↦,precedes:↤,nbsp:_ set showbreak=↪ filetype on filetype plugin on filetype indent on set wildmode=longest,list set showcmd " Put plugins and dictionaries in this dir (also on Windows) let vimDir = '$HOME/.vim' let &runtimepath.=','.vimDir " Keep undo history across sessions by storing it in a file if has('persistent_undo') let myUndoDir = expand(vimDir . '/undodir') " Create dirs call system('mkdir ' . vimDir) call system('mkdir ' . myUndoDir) let &undodir = myUndoDir set undofile endif " Allow saving of files as sudo when I forgot to start vim using sudo. " From https://stackoverflow.com/a/7078429 cmap w!! w !sudo tee > /dev/null % imap jk <Esc> vmap <Enter> <Esc> nmap <Enter> o<Esc> nmap <C-H> :bp<CR> nmap <C-L> :bn<CR> nmap <C-K> kkkkkkkkkkkkkkkkkkkkk nmap <C-J> jjjjjjjjjjjjjjjjjjjjj