summaryrefslogtreecommitdiff
path: root/vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'vimrc')
-rw-r--r--vimrc197
1 files changed, 116 insertions, 81 deletions
diff --git a/vimrc b/vimrc
index 9973b88..526bab5 100644
--- a/vimrc
+++ b/vimrc
@@ -1,59 +1,60 @@
-"" Required by vundle
-set nocompatible
-filetype off
-set rtp+=~/.vim/bundle/vundle/
-call vundle#rc()
-
"" Plugins
-Plugin 'gmarik/vundle'
-Plugin 'airblade/vim-gitgutter'
-Plugin 'altercation/vim-colors-solarized'
-Plugin 'bling/vim-airline'
-Plugin 'christoomey/vim-tmux-navigator'
-Plugin 'edkolev/tmuxline.vim'
-Plugin 'freeo/vim-kalisi'
-Plugin 'godlygeek/tabular'
-Plugin 'gregsexton/gitv'
-Plugin 'honza/vim-snippets'
-Plugin 'jamessan/vim-gnupg'
-Plugin 'junegunn/seoul256.vim'
-Plugin 'junegunn/fzf'
-Plugin 'AndrewRadev/splitjoin.vim'
-Plugin 'kien/ctrlp.vim'
-Plugin 'LaTeX-Box-Team/latex-box'
-Plugin 'majutsushi/tagbar'
-Plugin 'mileszs/ack.vim'
-Plugin 'rdnetto/YCM-Generator'
-Plugin 'scrooloose/nerdtree'
-Plugin 'scrooloose/syntastic'
-Plugin 'SirVer/ultisnips'
-Plugin 'sjl/Gundo.vim'
-Plugin 'szw/vim-ctrlspace'
-Plugin 'terryma/vim-multiple-cursors'
-Plugin 'tomasr/molokai'
-Plugin 'tommcdo/vim-exchange'
-Plugin 'ton/vim-bufsurf'
-Plugin 'tpope/vim-abolish'
-Plugin 'tpope/vim-commentary'
-Plugin 'tpope/vim-fugitive'
-Plugin 'tpope/vim-obsession'
-Plugin 'tpope/vim-repeat'
-Plugin 'tpope/vim-scriptease'
-Plugin 'tpope/vim-sensible'
-Plugin 'tpope/vim-surround'
-Plugin 'tpope/vim-unimpaired'
-Plugin 'troydm/zoomwintab.vim'
-Plugin 'Valloric/YouCompleteMe'
-
-filetype plugin indent on
-syntax on
-
-"" Plugins options
-
-let g:LatexBox_Folding=0
-let g:LatexBox_latexmk_preview_continuously=1
-let g:LatexBox_quickfix=2
-let g:LatexBox_viewer='zathura'
+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 'jamessan/vim-gnupg', { 'for' : 'asc' }
+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' ", { 'for' : 'tex' }
+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-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 'troydm/zoomwintab.vim'
+Plug 'Valloric/YouCompleteMe'
+", { 'do' : './install.sh --clang-completer' }
+Plug 'xolox/vim-misc', { 'on' : 'Note' }
+Plug 'xolox/vim-notes', { 'on' : 'Note' }
+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="<tab>"
@@ -61,14 +62,14 @@ let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsListSnippets="<c-l>"
let g:UltiSnipsSnippetDirectories=['UltiSnips', 'mySnippets']
-let g:UltiSnipsSnippetsDir="~/.nvim/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='base16'
+let g:airline_theme='solarized'
let g:airline#extensions#tabline#enabled = 0
let g:airline_exclude_preview = 0
@@ -78,9 +79,8 @@ let g:bufferline_echo = 0
let g:bufferline_modified = '+'
let g:bufferline_rotate = 0
-nnoremap <a-p> :CtrlPMRUFiles<cr>
let g:ctrlp_by_filename = 1
-let g:ctrlp_cmd = 'CtrlPBuffer'
+let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_map = '<c-p>'
let g:ctrlp_open_new_file = 't'
let g:ctrlp_show_hidden = 1
@@ -94,17 +94,16 @@ let g:ctrlp_prompt_mappings = {
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=""
-
-let g:tmuxline_preset = {'a':'#H','b':'#S','win':'#W','cwin':'#W','x':'%R','y':'%a','z':'%Y'}
-let g:tmuxline_separators = {'left':'','left_alt':'>','right':'','right_alt':'<','space':' '}
-let g:tmuxline_theme='airline'
+let g:tex_fast=1
let NERDTreeIgnore=['\.pdf$', '\~$','\.toc$',
\ '\.fls$','\.bbl$','\.blg$',
@@ -113,8 +112,17 @@ let NERDTreeIgnore=['\.pdf$', '\~$','\.toc$',
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
-let g:ycm_confirm_extra_conf = 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
+
"" Vim options
@@ -139,10 +147,11 @@ set undodir=/home/urbain/.nvim/vimundo/
" Layout window
set nonumber
+set diffopt=filler,vertical
set listchars=tab:▸\ ,eol:¬,trail:-
set fillchars=fold:\ ,vert:\ ,
-set showbreak=--▸\ ,
set breakindent
+let &showbreak='--> '
set colorcolumn=0
set scrolloff=0
set t_Co=256
@@ -154,7 +163,7 @@ set nowrap
set linebreak
set textwidth=0
set conceallevel=2
-set formatprg=par\ w70
+set formatprg=par\ w72
set guifont=Monaco\ 11
" Case and spell
@@ -173,7 +182,7 @@ set lazyredraw
set hidden
" Colorscheme
-try | colorscheme solarized | catch | endtry
+silent! colo solarized
highlight Comment cterm=italic
set t_ZH=
set t_ZR=
@@ -191,17 +200,19 @@ nnoremap <Leader>pn :tabnew<cr>
nnoremap <Leader>po :tabonly<cr>
" Plugin Management
-nnoremap <Leader>pi :PluginInstall<cr>
-nnoremap <Leader>pu :PluginUpdate<cr>
-nnoremap <Leader>pc :PluginClean<cr>
-nnoremap <Leader>ps :PluginSearch<cr>
+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 <Leader>tg :GitGutterToggle<cr>
-nnoremap <Leader>tn :NERDTreeToggle<cr>
-nnoremap <Leader>tt :TagbarToggle<cr>
-nnoremap <Leader>tu :GundoToggle<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>
@@ -231,6 +242,7 @@ nnoremap <s-Return> O<Esc>
nnoremap <Leader>gs :Gstatus<cr>
nnoremap <Leader>gr :Gread<cr>
nnoremap <Leader>gd :Gdiff<cr>
+nnoremap <Leader>gv :Gitv<cr>
" Misc
nnoremap <tab> <C-^>
@@ -241,6 +253,7 @@ 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>
" Dvorak specific
nnoremap : ,
@@ -248,15 +261,37 @@ vnoremap : ,
nnoremap , :
vnoremap , :
-"" Experimental
-augroup cursorPosition
+" 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
+ nnoremap ym :Neomake!<cr>
+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
-if has('nvim')
- tmap jk <C-\><C-n>
-endif
+"" Taken from Junegunn Chong
+nnoremap <silent> <Leader>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'
+\ })<CR>
+
+"" Experimental
+let g:notes_directories = ['~/dotfiles/notes']
+
+" Idea: instant download colorscheme