summaryrefslogtreecommitdiff
path: root/vim/.vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'vim/.vimrc')
-rw-r--r--vim/.vimrc354
1 files changed, 159 insertions, 195 deletions
diff --git a/vim/.vimrc b/vim/.vimrc
index 22373a1..6517c3a 100644
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -1,46 +1,78 @@
-" Definition of leaders
+"" Definition of leaders
let mapleader = " "
let maplocalleader = "\\"
+
"" Plugins
call plug#begin('~/.vim/plugged')
-Plug 'critiqjo/lldb.nvim'
-nmap <c-d>n :LLsession new
-nmap <c-d>b <Plug>LLBreakSwitch
-nmap <c-d>c :LL continue<cr>
-nmap <c-d>d :LLmode debug<cr>
-nmap <c-d>z :LLmode code<cr>
-nmap <c-d>l :LL process launch<cr>
-nmap <c-d>p :LL print <C-R>=expand('<cword>')<CR>
-vmap <c-d>p :<C-U>LL print <C-R>=lldb#util#get_selection()<CR><CR>
-
Plug 'AndrewRadev/splitjoin.vim'
-Plug 'chriskempson/base16-vim'
+Plug 'SirVer/ultisnips'
Plug 'airblade/vim-gitgutter'
Plug 'altercation/vim-colors-solarized'
Plug 'beloglazov/vim-online-thesaurus'
-nnoremap K :OnlineThesaurusCurrentWord<CR>
-
+Plug 'chriskempson/base16-vim'
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 'critiqjo/lldb.nvim'
+Plug 'holomorph/vim-freefem'
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
+Plug 'junegunn/fzf.vim'
+Plug 'junegunn/goyo.vim'
+Plug 'junegunn/gv.vim'
+Plug 'junegunn/seoul256.vim'
+Plug 'junegunn/vim-easy-align'
+Plug 'junegunn/vim-oblique'
+Plug 'junegunn/vim-peekaboo'
+Plug 'junegunn/vim-pseudocl'
+Plug 'justinmk/vim-sneak'
+Plug 'klen/python-mode'
+Plug 'lervag/vimtex'
+Plug 'majutsushi/tagbar'
+Plug 'mileszs/ack.vim'
+Plug 'nanotech/jellybeans.vim'
+Plug 'rdnetto/YCM-Generator', { 'branch' : 'stable' , 'on' : 'YcmGenerateConfig' }
+Plug 'scrooloose/nerdtree'
+Plug 'sjl/Gundo.vim', { 'on' : 'GundoToggle' }
+Plug 'terryma/vim-multiple-cursors'
+Plug 'tomasr/molokai'
+Plug 'tommcdo/vim-exchange'
+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-rsi'
+Plug 'tpope/vim-sensible'
+Plug 'tpope/vim-surround'
+Plug 'tpope/vim-unimpaired'
+Plug 'tpope/vim-vinegar'
+Plug 'troydm/zoomwintab.vim'
+Plug 'vim-airline/vim-airline'
+Plug 'vim-airline/vim-airline-themes'
+Plug 'vim-scripts/gmsh.vim'
+
if has("nvim")
- nnoremap <a-b> :Buffers<cr>
- nnoremap <a-f> :Files<cr>
- nnoremap <a-r> :History<cr>
- nnoremap <a-g> :GitFiles<cr>
- nnoremap <a-c> :Colors<cr>
- nnoremap <a-h> :History:<cr>
+ Plug 'Shougo/deoplete.nvim'
+ Plug 'benekastah/neomake'
+else
+ Plug 'Valloric/YouCompleteMe', { 'do' : 'python2 install.py --clang-completer' }
+ Plug 'scrooloose/syntastic'
endif
+
+call plug#end()
+
+
+"" Plugin mappings
+
+" Toggles
+nnoremap cpg :GitGutterToggle<cr>
+nnoremap cpn :NERDTreeToggle<cr>
+nnoremap cpt :TagbarToggle<cr>
+nnoremap cpu :GundoToggle<cr>
+
+" Fuzzy finder
nnoremap <c-p>b :Buffers<cr>
nnoremap <c-p>f :Files<cr>
nnoremap <c-p>r :History<cr>
@@ -51,28 +83,68 @@ nnoremap <c-p>h :History:<cr>
imap <c-x><c-l> <plug>(fzf-complete-line)
imap <c-x><c-f> <plug>(fzf-complete-file)
-Plug 'junegunn/seoul256.vim'
-Plug 'junegunn/vim-easy-align'
+" LLDB
+nnoremap <c-d>n :LLsession new
+nnoremap <c-d>b <Plug>LLBreakSwitch
+nnoremap <c-d>c :LL continue<cr>
+nnoremap <c-d>d :LLmode debug<cr>
+nnoremap <c-d>z :LLmode code<cr>
+nnoremap <c-d>l :LL process launch<cr>
+nnoremap <c-d>p :LL print <C-R>=expand('<cword>')<CR>
+vnoremap <c-d>p :<C-U>LL print <C-R>=lldb#util#get_selection()<CR><CR>
+
+" Fugitive
+nnoremap <Leader>gs :Gstatus<cr>
+nnoremap <Leader>gr :Gread<cr>
+nnoremap <Leader>gd :Gdiff<cr>
+
+" Easy align
xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign)
xmap gl <Plug>(LiveEasyAlign)
nmap gl <Plug>(LiveEasyAlign)
-Plug 'vim-airline/vim-airline'
-Plug 'vim-airline/vim-airline-themes'
+" Online thesaurus
+nnoremap cpd :OnlineThesaurusCurrentWord<cr>
+
+" Ultisnips
+nnoremap cps :UltiSnipsEdit<cr>
+
+" Neomake
+nnoremap gm :Neomake!<cr>
+
+
+"" Plugin configurations
+
+" Deoplete
+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*']
+
+" Python-mode
+let g:pymode_rope=0
+
+" NerdTree
+let g:NERDTreeHijackNetrw = 0
+
+" Tagbar
+let g:tagbar_width = 30
+let g:tagbar_show_linenumbers = 1
+let g:tagbar_autofocus = 1
+
+" Airline
let g:airline_left_sep=''
let g:airline_right_sep=''
-let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing', 'mixed-indent-file' ]
let g:airline_theme='base16'
+let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing', 'mixed-indent-file' ]
+let g:airline#extensions#tabline#enabled = 1
+let g:airline#extensions#tabline#tab_nr_type = 1
+let g:airline#extensions#tabline#formatter = 'unique_tail'
+let g:airline#extensions#tabline#tab_min_count = 2
+let g:airline#extensions#tabline#show_buffers = 0
-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 'lervag/vimtex'
+" Vimtex
let g:vimtex_fold_enabled=0
let g:vimtex_view_method='zathura'
let g:vimtex_latexmk_continuous=1
@@ -80,17 +152,13 @@ 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'
-let g:NERDTreeHijackNetrw = 0
+" 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"
-Plug 'SirVer/ultisnips'
+" Ultisnips
let g:UltiSnipsEditSplit="horizontal"
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
@@ -99,140 +167,73 @@ let g:UltiSnipsListSnippets="<c-l>"
let g:UltiSnipsSnippetDirectories=['UltiSnips', 'mySnippets']
let g:UltiSnipsSnippetsDir="~/.vim/mySnippets"
let g:UltiSnipsUsePythonVersion=3
-nnoremap <Leader>es :UltiSnipsEdit<cr>
-
-Plug 'sjl/Gundo.vim', { 'on' : 'GundoToggle' }
-Plug 'terryma/vim-multiple-cursors'
-Plug 'tomasr/molokai'
-Plug 'tommcdo/vim-exchange'
-Plug 'ton/vim-bufsurf'
-nnoremap (( :BufSurfBack<CR>
-nnoremap )) :BufSurfForward<CR>
-
-Plug 'tpope/vim-commentary'
-Plug 'tpope/vim-dispatch'
-Plug 'tpope/vim-eunuch'
-Plug 'tpope/vim-fugitive'
-nnoremap <Leader>gs :Gstatus<cr>
-nnoremap <Leader>gr :Gread<cr>
-nnoremap <Leader>gd :Gdiff<cr>
-nnoremap <Leader>gv :Gitv<cr>
-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 'tpope/vim-rsi'
-let g:rsi_no_meta = 1
-
-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!<cr>
-
- 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 = ['<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 = {}
- let g:ycm_semantic_triggers.tex = ['re!\\[A-Za-z]*(ref|cite)[A-Za-z]*([^]]*])?{([^}]*, ?)*' ]
- endif
+" FZF.vim
+let g:fzf_buffers_jump = 1
- 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"
+" YouCompleteMe
+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 = {}
+ let g:ycm_semantic_triggers.tex = ['re!\\[A-Za-z]*(ref|cite)[A-Za-z]*([^]]*])?{([^}]*, ?)*' ]
endif
-call plug#end()
+
+"" Vim variables
let g:tex_conceal= 'adgm'
let g:tex_flavor='latex'
-"" Vim options
-" Tabs and indent
+"" Vim options
set smartindent
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
-
-" Folds
-set foldcolumn=0
+set showcmd
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 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
+" set clipboard=unnamedplus
+" set spellfile="$HOME/.vim/spell/en.utf-8.add"
+
+
+"" Mappings
+nnoremap <Leader>w :w!<cr>
+nnoremap <Leader>q :q!<cr>
+nnoremap <Leader>d :bd!<cr>
+nnoremap <Leader>t :tabnew<cr>
+
+nnoremap got :call system('urxvt -cd '.getcwd().' &')<cr>
+nnoremap goT :call system('urxvt -cd '.expand("%:p:h").' &')<cr>
+
+nnoremap <tab> <C-^>
+nnoremap <LocalLeader>h :e %:p:s,.hpp$,.X123X,:s,.cpp$,.hpp,:s,.X123X$,.cpp,<CR>
+nnoremap Y y$
+nnoremap + za
+nnoremap <BS> <C-W>h
+nnoremap <Leader>fw :%s/\s\+$//<cr>
-" mutt
-au BufNewFile,Bufread /tmp/mutt-* setlocal tw=72
-au BufNewFile,BufRead *.edp comp freefem
-au BufNewFile,BufRead *.geo setf gmsh
-" Colorscheme
+"" Colorscheme
let base16colorspace=256
-" let g:seoul256_background =235
+let g:seoul256_background =235
silent! colo $COLORSCHEME
if $BACKGROUND=="dark"
set background=dark
@@ -240,45 +241,8 @@ elseif $BACKGROUND=="light"
set background=light
endif
-highlight Comment cterm=italic
-set t_ZH=
-set t_ZR=
-
-"" Maps
-
-" 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>
-
-" Formatting
-nnoremap <Leader>fw :%s/\s\+$//<cr>
-
-" Navigation
-nnoremap <c-y> 3<c-y>
-nnoremap <c-e> 3<c-e>
-nnoremap <Return> o<Esc>
-" 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
-
-" 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 <a-w> :w<cr>
- nnoremap <a-d> :q<cr>
- nnoremap <a-t> :tabnew<cr>
- nmap <BS> <C-W>h
-endif
+"" Autocommands
+au BufNewFile,Bufread /tmp/mutt-* setlocal tw=72
+au BufNewFile,BufRead *.edp comp freefem
+au BufNewFile,BufRead *.geo setf gmsh