diff options
author | Urbain Vaes <urbain@vaes.uk> | 2016-03-10 14:29:06 +0000 |
---|---|---|
committer | Urbain Vaes <urbain@vaes.uk> | 2016-03-10 14:29:06 +0000 |
commit | 3446f5387389b0e1671481c8a8fb9ea0eed519f6 (patch) | |
tree | 543bde435847c700507c3b229460b446f4a09028 /vim/vimrc | |
parent | c9f80e43f431d89bbccd1ecc68c7b48fb8c01dd4 (diff) |
Remove . from dotfiles for convenience
Diffstat (limited to 'vim/vimrc')
-rw-r--r-- | vim/vimrc | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/vim/vimrc b/vim/vimrc new file mode 100644 index 0000000..8017f28 --- /dev/null +++ b/vim/vimrc @@ -0,0 +1,281 @@ +"" Plugins +call plug#begin('~/.vim/plugged') +Plug 'airblade/vim-gitgutter' +Plug 'altercation/vim-colors-solarized' +Plug 'beloglazov/vim-online-thesaurus' +Plug 'christoomey/vim-tmux-navigator' +Plug 'ctrlpvim/ctrlp.vim' +Plug 'gregsexton/gitv', { 'on' : 'Gitv' } +Plug 'honza/vim-snippets' +Plug 'jamessan/vim-gnupg' +Plug 'junegunn/seoul256.vim' +Plug 'junegunn/vim-easy-align' +Plug 'junegunn/vim-peekaboo' +Plug 'junegunn/vim-pseudocl' +Plug 'junegunn/vim-oblique' +Plug 'justinmk/vim-sneak' +Plug 'klen/python-mode' +Plug 'ledger/vim-ledger' +Plug 'lervag/vimtex' +Plug 'majutsushi/tagbar' +Plug 'mileszs/ack.vim', { 'on' : 'Ack' } +Plug 'rdnetto/YCM-Generator', { 'branch' : 'stable' , 'on' : 'YcmGenerateConfig' } +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-commentary' +Plug 'tpope/vim-dispatch' +Plug 'tpope/vim-eunuch' +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' : 'python2 install.py --clang-completer' } +Plug 'vim-airline/vim-airline' +Plug 'vim-airline/vim-airline-themes' +Plug 'vim-scripts/gmsh.vim' +Plug 'holomorph/vim-freefem' +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:vimtex_latexmk_build_dir='build' + +let g:UltiSnipsEditSplit="horizontal" +let g:UltiSnipsExpandTrigger="<tab>" +let g:UltiSnipsJumpBackwardTrigger="<s-tab>" +let g:UltiSnipsJumpForwardTrigger="<tab>" +let g:UltiSnipsListSnippets="<c-l>" +let g:UltiSnipsSnippetDirectories=['UltiSnips', 'mySnippets'] +let g:UltiSnipsSnippetsDir="~/.vim/mySnippets" +let g:UltiSnipsUsePythonVersion=3 + +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 = '<c-p>' +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")': ['<c-n>'], + \ 'PrtSelectMove("k")': ['<c-p>'], + \ 'PrtHistory(-1)': ['<c-j>'], + \ 'PrtHistory(1)': ['<c-k>'],} + +let g:gitgutter_max_signs=1000 +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 = ['<C-n>', '<Down>'] +let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>'] +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/.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/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 lazyredraw +set hidden + +" mutt +au BufRead /tmp/mutt-* set tw=72 + +" 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 + set background=dark +else + silent! colo solarized + set background=dark +endif + +highlight Comment cterm=italic +set t_ZH=[3m +set t_ZR=[23m + +"" Maps + +" Definition of leaders +let mapleader = " " +let maplocalleader = "\\" + +" New pages +nnoremap <Leader>pe :tabedit +nnoremap <Leader>pn :tabnew<cr> +nnoremap <Leader>po :tabonly<cr> + +" Plugin Management +nnoremap <Leader>pi :PlugInstall<cr> +nnoremap <Leader>pu :PlugUpdate<cr> +nnoremap <Leader>pc :PlugClean<cr> +nnoremap <Leader>pd :PlugDiff<cr> +nnoremap <Leader>ps :PlugStatus<cr> + +" Toggles +nnoremap cop :set paste!<cr> +nnoremap cof :set foldenable!<cr> +nnoremap cpg :GitGutterToggle<cr> +nnoremap cpn :NERDTreeToggle<cr> +nnoremap cpt :TagbarToggle<cr> +nnoremap cpu :GundoToggle<cr> + +" Sourcing +nnoremap <Leader>sv :source ~/.vimrc<cr> +nnoremap <Leader>sc :source %<cr> + +" File edits +nnoremap <Leader>es :UltiSnipsEdit<cr> +nnoremap <Leader>em :e ~/dotfiles/.mutt/muttrc<cr> +nnoremap <Leader>ev :e ~/dotfiles/.vim/vimrc<cr> +nnoremap <Leader>ez :e ~/dotfiles/.zsh/zshrc<cr> +nnoremap <Leader>et :e ~/dotfiles/.tmux.conf<cr> + +" Formatting +nnoremap <Leader>fw :%s/\s\+$//<cr> +nnoremap <Leader>fi zzmxgg=G'x + +" Navigation +nnoremap (( :BufSurfBack<CR> +nnoremap )) :BufSurfForward<CR> +nnoremap <c-y> 3<c-y> +nnoremap <c-e> 3<c-e> +nnoremap <Return> o<Esc> +nnoremap <s-Return> O<Esc> + +" Git +nnoremap <Leader>gs :Gstatus<cr> +nnoremap <Leader>gr :Gread<cr> +nnoremap <Leader>gd :Gdiff<cr> +nnoremap <Leader>gv :Gitv<cr> + +" Misc +nnoremap <tab> <C-^> +nnoremap Q :bd!<cr> +nnoremap <Leader>w :w<cr> +nnoremap <Leader>q :q!<cr> +nnoremap <LocalLeader>h :e %:p:s,.hpp$,.X123X,:s,.cpp$,.hpp,:s,.X123X$,.cpp,<CR> +nnoremap J mzJ`z +nnoremap Y y$ +nnoremap + za +nnoremap K :OnlineThesaurusCurrentWord<CR> + +" Neovim specific +if has("nvim") + tnoremap <C-_> <C-\><C-n><C-^>:ZoomWinTabOut<cr> + nnoremap <C-_> :ZoomWinTabIn<cr>:b term<cr>i + inoremap <C-_> <Esc>:b term<cr>i +endif + +"" Restore cursor position +augroup vimrc + au! + autocmd BufWritePost *vimrc source % + autocmd BufReadPost * + \ if line("'\"") > 1 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif +augroup END |