"" Plugins call plug#begin('~/.vim/plugged') Plug 'airblade/vim-gitgutter', { 'on' : 'GitGutterToggle' } Plug 'altercation/vim-colors-solarized' Plug 'AndrewRadev/splitjoin.vim' Plug 'beloglazov/vim-online-thesaurus' Plug 'benekastah/neomake' , { 'for' : 'cpp' } Plug 'bling/vim-airline' Plug 'christoomey/vim-tmux-navigator' Plug 'dhruvasagar/vim-table-mode' Plug 'godlygeek/tabular' , { 'on' : 'Tab' } Plug 'gregsexton/gitv', { 'on' : 'Gitv' } Plug 'honza/vim-snippets' Plug 'itchyny/calendar.vim', { 'on' : 'Calendar' } Plug 'klen/python-mode' Plug 'jamessan/vim-gnupg' Plug 'junegunn/fzf' Plug 'junegunn/seoul256.vim' Plug 'junegunn/vim-pseudocl' Plug 'junegunn/vim-oblique' Plug 'junegunn/vim-peekaboo' Plug 'justinmk/vim-sneak' Plug 'ctrlpvim/ctrlp.vim' Plug 'lervag/vimtex' Plug 'majutsushi/tagbar' Plug 'mileszs/ack.vim', { 'on' : 'Ack' } Plug 'rdnetto/YCM-Generator', { 'branch' : 'stable' , 'on' : 'YcmGenerateConfig' } Plug 'ryanss/vim-hackernews', { 'on' : 'HackerNews' } Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } Plug 'scrooloose/syntastic' Plug 'SirVer/ultisnips' Plug 'sjl/Gundo.vim', { 'on' : 'GundoToggle' } Plug 'terryma/vim-multiple-cursors' Plug 'tomasr/molokai' Plug 'tommcdo/vim-exchange' Plug 'ton/vim-bufsurf' Plug 'tpope/vim-abolish', { 'for' : 'tex' } Plug 'tpope/vim-commentary' Plug 'tpope/vim-flagship' Plug 'tpope/vim-fugitive' 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 'Valloric/YouCompleteMe', { 'do' : './install.sh --clang-completer' } Plug 'xolox/vim-misc' Plug 'xolox/vim-notes' call plug#end() 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: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:airline_left_sep='' let g:airline_right_sep='' let g:airline_section_c = '%f%m' let g:airline_section_y = '' let g:airline_section_z = '%3p%%|%3l|%3c' let g:airline_theme='solarized' let g:airline#extensions#tabline#enabled = 0 let g:airline_exclude_preview = 0 let g:ctrlp_by_filename = 1 let g:ctrlp_cmd = 'CtrlP' let g:ctrlp_map = '' let g:ctrlp_open_new_file = 't' let g:ctrlp_show_hidden = 1 let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] let g:ctrlp_working_path_mode = 'r' let g:ctrlp_prompt_mappings = { \ 'PrtSelectMove("j")': [''], \ 'PrtSelectMove("k")': [''], \ 'PrtHistory(-1)': [''], \ 'PrtHistory(1)': [''],} let g:pymode_rope=0 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" let g:tagbar_width = 30 let g:tagbar_show_linenumbers=1 let g:tagbar_autofocus=1 let g:tex_conceal= 'adgm' let g:tex_flavor='latex' let g:tex_fast="1" let NERDTreeIgnore=['\.pdf$', '\~$','\.toc$', \ '\.fls$','\.bbl$','\.blg$', \ '\.out$', '\.log$','\.aux$','\.sty$', \ '\.fdb_latexmk$', '\.synctex.gz$','\.latexmain$'] 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 = {} endif let g:ycm_semantic_triggers.tex = ['re!\\[A-Za-z]*(ref|cite)[A-Za-z]*([^]]*])?{([^}]*, ?)*' ] let g:calendar_google_calendar = 1 let g:calendar_google_task = 1 let g:tabprefix = "" "" 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/urbain/.nvim/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 formatprg=par\ w72 set guifont=Monaco\ 11 " Case and spell set nospell " set spellfile="/home/urbain/.vim/spell/en.utf-8.add" set smartcase set ignorecase " Misc set noautochdir set cpoptions+=Iq set encoding=utf-8 set mouse=a set clipboard=unnamedplus set lazyredraw set hidden " Colorscheme if $COLORSCHEME=="light" silent! colo solarized set background=light elseif $COLORSCHEME=="dark" silent! colo solarized set background=dark elseif $COLORSCHEME=="default" silent! colo seoul256 set background=dark endif highlight Comment cterm=italic set t_ZH= set t_ZR= "" Maps " Definition of leaders let mapleader = " " let maplocalleader = "\\" " New pages nnoremap pe :tabedit nnoremap pn :tabnew nnoremap po :tabonly " Plugin Management nnoremap pi :PlugInstall nnoremap pu :PlugUpdate nnoremap pc :PlugClean nnoremap pd :PlugDiff nnoremap ps :PlugStatus " Toggles nnoremap cop :set paste! nnoremap cof :set foldenable! nnoremap cpg :GitGutterToggle nnoremap cpn :NERDTreeToggle nnoremap cpt :TagbarToggle nnoremap cpu :GundoToggle " Sourcing nnoremap sv :source ~/.vimrc nnoremap sc :source % " File edits nnoremap es :UltiSnipsEdit nnoremap em :e ~/dotfiles/mutt/muttrc nnoremap en :e ~/dotfiles/nvimrc nnoremap ev :e ~/dotfiles/vimrc nnoremap ez :e ~/dotfiles/zshrc nnoremap et :e ~/dotfiles/tmux.conf " Formatting nnoremap fw :%s/\s\+$// nnoremap fi zzmxgg=G'x " Navigation nnoremap (( :BufSurfBack nnoremap )) :BufSurfForward nnoremap 3 nnoremap 3 nnoremap o nnoremap O " Git nnoremap gs :Gstatus nnoremap gr :Gread nnoremap gd :Gdiff nnoremap gv :Gitv " 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 nnoremap K :OnlineThesaurusCurrentWord " Neovim specific if has("nvim") tnoremap :ZoomWinTabOut nnoremap :ZoomWinTabIn:b termi inoremap :b termi nnoremap ym :Neomake! endif "" Restore cursor position augroup vimrc au! autocmd BufWritePost *vimrc source % autocmd BufWritePost *.cpp Neomake! autocmd BufReadPost * \ if line("'\"") > 1 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif augroup END "" Taken from Junegunn Chong nnoremap C :call fzf#run({ \ 'source': \ map(split(globpath(&rtp, "colors/*.vim"), "\n"), \ "substitute(fnamemodify(v:val, ':t'), '\\..\\{-}$', '', '')"), \ 'sink': 'colo', \ 'options': '+m', \ 'left': 30, \ 'launcher': 'iterm2-launcher 20 30 %s' \ }) "" Experimental let g:notes_directories = ['~/.notes'] let g:pymode=0 " Idea: instant download colorscheme