From 8df9472e0cdbab0d12211c2bc77918e8f515c409 Mon Sep 17 00:00:00 2001 From: Urbain Vaes Date: Sat, 8 Aug 2015 20:08:42 +0200 Subject: Improve installation and organization --- .vim/vimrc | 314 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 .vim/vimrc (limited to '.vim/vimrc') diff --git a/.vim/vimrc b/.vim/vimrc new file mode 100644 index 0000000..13b520a --- /dev/null +++ b/.vim/vimrc @@ -0,0 +1,314 @@ +"" 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 'freeo/vim-kalisi' +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 'junegunn/rainbow_parentheses.vim' +Plug 'justinmk/vim-sneak' +Plug 'kassio/neoterm', { 'on' : 'T' } +Plug 'kien/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-git' +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:bufferline_active_buffer_left = '' +let g:bufferline_active_buffer_right = '' +let g:bufferline_echo = 0 +let g:bufferline_modified = '+' +let g:bufferline_rotate = 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 + +" Dvorak specific +nnoremap : , +vnoremap : , +nnoremap , : +vnoremap , : + +" 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 -- cgit v1.2.3