From e146e947c52ac4adbe426b3f893faff1e46ed5f8 Mon Sep 17 00:00:00 2001 From: Urbain Vaes Date: Tue, 19 Apr 2016 15:24:25 +0100 Subject: Use GNU stow for dotfiles management --- vim/.vimrc | 292 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 292 insertions(+) create mode 100644 vim/.vimrc (limited to 'vim/.vimrc') diff --git a/vim/.vimrc b/vim/.vimrc new file mode 100644 index 0000000..0132d45 --- /dev/null +++ b/vim/.vimrc @@ -0,0 +1,292 @@ +" Definition of leaders +let mapleader = " " +let maplocalleader = "\\" + +"" Plugins +call plug#begin('~/.vim/plugged') +Plug 'airblade/vim-gitgutter' +Plug 'altercation/vim-colors-solarized' +Plug 'beloglazov/vim-online-thesaurus' +nnoremap K :OnlineThesaurusCurrentWord + +Plug 'christoomey/vim-tmux-navigator' +Plug 'embear/vim-localvimrc' +let g:localvimrc_ask = 0 +let g:localvimrc_sandbox = 0 + +Plug 'gregsexton/gitv', { 'on' : 'Gitv' } +Plug 'honza/vim-snippets' +Plug 'jamessan/vim-gnupg' +Plug 'junegunn/goyo.vim' +Plug 'junegunn/fzf.vim' +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +let g:fzf_buffers_jump = 1 +if has("nvim") + nnoremap :Buffers + nnoremap :Files + nnoremap :History + nnoremap :GitFiles + nnoremap :Colors + nnoremap :History: +else + nnoremap b :Buffers + nnoremap f :Files + nnoremap r :History + nnoremap g :GitFiles + nnoremap c :Colors + nnoremap h :History: +endif + +imap (fzf-complete-line) +imap (fzf-complete-file) + +Plug 'junegunn/seoul256.vim' +Plug 'junegunn/vim-easy-align' +xmap ga (EasyAlign) +nmap ga (EasyAlign) +xmap gl (LiveEasyAlign) +nmap gl (LiveEasyAlign) + +Plug 'junegunn/vim-peekaboo' +Plug 'junegunn/vim-pseudocl' +Plug 'junegunn/vim-oblique' +Plug 'justinmk/vim-sneak' +Plug 'klen/python-mode' +let g:pymode_rope=0 + +Plug 'ledger/vim-ledger' +Plug 'lervag/vimtex' +let g:vimtex_fold_enabled=0 +let g:vimtex_view_method='zathura' +let g:vimtex_latexmk_continuous=1 +let g:vimtex_quickfix_mode=0 +let g:vimtex_latexmk_build_dir='build' +let g:vimtex_latexmk_progname='nvr' + +Plug 'majutsushi/tagbar' +let g:tagbar_width = 30 +let g:tagbar_show_linenumbers = 1 +let g:tagbar_autofocus = 1 + +Plug 'mileszs/ack.vim', { 'on' : 'Ack' } +Plug 'rdnetto/YCM-Generator', { 'branch' : 'stable' , 'on' : 'YcmGenerateConfig' } +Plug 'scrooloose/nerdtree' + +Plug 'SirVer/ultisnips' +let g:UltiSnipsEditSplit="horizontal" +let g:UltiSnipsExpandTrigger="" +let g:UltiSnipsJumpBackwardTrigger="" +let g:UltiSnipsJumpForwardTrigger="" +let g:UltiSnipsListSnippets="" +let g:UltiSnipsSnippetDirectories=['UltiSnips', 'mySnippets'] +let g:UltiSnipsSnippetsDir="~/.vim/mySnippets" +let g:UltiSnipsUsePythonVersion=3 +nnoremap es :UltiSnipsEdit + +Plug 'sjl/Gundo.vim', { 'on' : 'GundoToggle' } +Plug 'terryma/vim-multiple-cursors' +Plug 'tomasr/molokai' +Plug 'tommcdo/vim-exchange' +Plug 'ton/vim-bufsurf' +nnoremap (( :BufSurfBack +nnoremap )) :BufSurfForward + +Plug 'tpope/vim-commentary' +Plug 'tpope/vim-dispatch' +Plug 'tpope/vim-eunuch' +Plug 'tpope/vim-flagship' +let g:tabprefix = "" +let g:tablabel = "%N%{flagship#tabmodified()} %{flagship#tabcwds('shorten',',')}" + +function! Mixed_indent() + let l:spaces=search('\v(^ +)','n') + let l:tabs=search('\v(^\t+)','n') + return (l:spaces * l:tabs > 0) +endfunction + +augroup myflags + autocmd! + autocmd BufEnter,BufWritePost * let b:trailing=search('\s\+$','n') + autocmd BufEnter,BufWritePost * let b:mixed=Mixed_indent() + autocmd User Flags call Hoist("window", "SyntasticStatuslineFlag") + autocmd User Flags call Hoist("window", "%{b:trailing?'[tw]':''}") + autocmd User Flags call Hoist("window", "%{b:mixed?'[mixed]':''}") + autocmd User Flags call Hoist("window", "%{&paste?'[paste]':''}") +augroup END + +Plug 'tpope/vim-fugitive' +nnoremap gs :Gstatus +nnoremap gr :Gread +nnoremap gd :Gdiff +nnoremap gv :Gitv + +Plug 'tpope/vim-obsession' +Plug 'tpope/vim-repeat' +Plug 'tpope/vim-sensible' +Plug 'tpope/vim-surround' +Plug 'tpope/vim-unimpaired' +Plug 'tpope/vim-vinegar' +Plug 'troydm/zoomwintab.vim' +Plug 'vim-scripts/gmsh.vim' +Plug 'holomorph/vim-freefem' +Plug 'nanotech/jellybeans.vim' + +if has("nvim") + Plug 'benekastah/neomake' + let g:neomake_freefem_ff_maker = { + \ 'exe': 'FreeFem++', + \ 'args': '-ne', + \ 'errorformat': ' Error line number %l\, in file %f\,%m', + \ } + nnoremap gm :Neomake! + + Plug 'Shougo/deoplete.nvim' + let g:deoplete#enable_at_startup = 1 + let g:deoplete#omni#input_patterns={} + let g:deoplete#omni#input_patterns.ledger = ':\w*' + let g:deoplete#omni#input_patterns.tex = ['cite.\w*', 'ref.\w*'] +else + Plug 'Valloric/YouCompleteMe', { 'do' : 'python2 install.py --clang-completer' } + let g:ycm_key_list_select_completion = ['', ''] + let g:ycm_key_list_previous_completion = ['', ''] + let g:ycm_add_preview_to_completeopt = 0 + let g:ycm_confirm_extra_conf = 0 + let g:ycm_auto_trigger = 1 + if !exists('g:ycm_semantic_triggers') + let g:ycm_semantic_triggers = {} + let g:ycm_semantic_triggers.tex = ['re!\\[A-Za-z]*(ref|cite)[A-Za-z]*([^]]*])?{([^}]*, ?)*' ] + endif + + Plug 'scrooloose/syntastic' + let g:syntastic_cpp_compiler = "g++" + let g:syntastic_cpp_compiler_options = "-std=c++11 -Wall -Wextra -Wpedantic" + let g:syntastic_error_symbol = "✗" + let g:syntastic_warning_symbol = "W" +endif +call plug#end() + +let g:tex_conceal= 'adgm' +let g:tex_flavor='latex' + +"" Vim options + +" Tabs and indent +set smartindent +set expandtab +set tabstop=4 +set softtabstop=4 +set shiftwidth=4 + +" Folds +set foldcolumn=0 +set nofoldenable +set foldmethod=expr +set foldlevel=0 + +" Back up files +set noswapfile +set nowritebackup +set undofile +set undodir=$HOME/.vim/vimundo/ + +" Layout window +set nonumber +set diffopt=filler,vertical +set listchars=tab:▸\ ,eol:¬,trail:- +set fillchars=fold:\ ,vert:\ , +set breakindent +let &showbreak='--> ' +set colorcolumn=0 +set scrolloff=0 +set t_Co=256 +set guitablabel=%N\ %t\ %M +set showcmd + +" Layout text +set nowrap +set linebreak +set textwidth=0 +set conceallevel=2 +set guifont=Monaco\ 11 +set nojoinspaces + +" Case and spell +set nospell +" set spellfile="$HOME/.vim/spell/en.utf-8.add" +set smartcase +set ignorecase + +" Misc +set clipboard=unnamedplus +set noautochdir +set cpoptions+=Iq +set encoding=utf-8 +set mouse=a +set lazyredraw +set hidden + +" mutt +au BufNewFile,Bufread /tmp/mutt-* setlocal tw=72 +au BufNewFile,BufRead *.edp comp freefem +au BufNewFile,BufRead *.geo setf gmsh + +" Colorscheme +if $COLORSCHEME=="light" + silent! colo solarized + set background=light +elseif $COLORSCHEME=="dark" + silent! colo solarized + set background=dark +elseif $COLORSCHEME=="seoul" + silent! colo seoul256 +elseif $COLORSCHEME=="molokai" + silent! colo molokai +else + silent! colo solarized + set background=dark +endif + +highlight Comment cterm=italic +set t_ZH= +set t_ZR= + +"" Maps + +" Toggles +nnoremap cop :set paste! +nnoremap cof :set foldenable! +nnoremap cpg :GitGutterToggle +nnoremap cpn :NERDTreeToggle +nnoremap cpt :TagbarToggle +nnoremap cpu :GundoToggle + +" File edits + +" Formatting +nnoremap fw :%s/\s\+$// + +" Navigation +nnoremap 3 +nnoremap 3 +nnoremap o + +" Misc +nnoremap +nnoremap Q :bd! +nnoremap w :w +nnoremap q :q! +nnoremap h :e %:p:s,.hpp$,.X123X,:s,.cpp$,.hpp,:s,.X123X$,.cpp, +nnoremap J mzJ`z +nnoremap Y y$ +nnoremap + za + +" Neovim specific +if has("nvim") + tnoremap :ZoomWinTabOut + nnoremap :ZoomWinTabIn:b termi + inoremap :b termi + nnoremap :w + nnoremap :q + nnoremap :tabnew + nmap h +endif -- cgit v1.2.3