summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nvimrc229
1 files changed, 229 insertions, 0 deletions
diff --git a/nvimrc b/nvimrc
new file mode 100644
index 0000000..7e98dbf
--- /dev/null
+++ b/nvimrc
@@ -0,0 +1,229 @@
+"" Plugins
+call plug#begin('~/.nvim/plugged')
+Plug 'LaTeX-Box-Team/latex-box'
+Plug 'SirVer/ultisnips'
+Plug 'airblade/vim-gitgutter'
+Plug 'altercation/vim-colors-solarized'
+Plug 'bling/vim-airline'
+Plug 'christoomey/vim-tmux-navigator'
+Plug 'edkolev/tmuxline.vim'
+Plug 'godlygeek/tabular'
+Plug 'gregsexton/gitv'
+Plug 'honza/vim-snippets'
+Plug 'jamessan/vim-gnupg'
+Plug 'terryma/vim-multiple-cursors'
+Plug 'jeetsukumaran/vim-buffergator'
+Plug 'AndrewRadev/splitjoin.vim'
+Plug 'kien/ctrlp.vim'
+Plug 'majutsushi/tagbar'
+Plug 'scrooloose/nerdtree'
+Plug 'scrooloose/syntastic'
+Plug 'sjl/Gundo.vim'
+Plug 'tommcdo/vim-exchange'
+Plug 'tpope/vim-abolish'
+Plug 'tpope/vim-commentary'
+Plug 'tpope/vim-fugitive'
+Plug 'tpope/vim-obsession'
+Plug 'tpope/vim-repeat'
+Plug 'tpope/vim-scriptease'
+Plug 'tpope/vim-sensible'
+Plug 'tpope/vim-surround'
+Plug 'tpope/vim-unimpaired'
+call plug#end()
+
+"" Plugins options
+let g:LatexBox_Folding=0
+let g:LatexBox_latexmk_preview_continuously=1
+let g:LatexBox_quickfix=2
+let g:LatexBox_viewer='zathura'
+
+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: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#extensions#tabline#enabled = 0
+
+let g:buffergator_display_regime='bufname'
+let g:buffergator_vsplit_size=30
+
+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 = 'CtrlPBuffer'
+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:syntastic_cpp_compiler = "g++"
+let g:syntastic_cpp_compiler_options = "-std=c++11 -Wall -Wextra -Wpedantic"
+
+let g:tagbar_width = 30
+let g:tagbar_show_linenumbers=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 NERDTreeIgnore=['\.pdf$', '\~$','\.toc$',
+ \ '\.fls$','\.bbl$','\.blg$',
+ \ '\.out$', '\.log$','\.aux$','\.sty$',
+ \ '\.fdb_latexmk$', '\.synctex.gz$','\.latexmain$']
+
+"" 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 listchars=tab:▸\ ,eol:¬,trail:-
+set fillchars=fold:\ ,vert:\ ,
+set showbreak=--▸\ ,
+set breakindent
+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\ w70
+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
+
+" Colorscheme
+try | colorscheme solarized | catch | endtry
+
+"" Maps
+
+" Definition of leaders
+let mapleader = "\\"
+let maplocalleader = "-"
+nmap <Space> <Leader>
+
+" 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>
+
+" Toggles
+nnoremap cop :set paste!<cr>
+nnoremap <Leader>tb :BuffergatorToggle<cr>
+nnoremap <Leader>tg :GitGutterToggle<cr>
+nnoremap <Leader>tn :NERDTreeToggle<cr>
+nnoremap <Leader>tt :TagbarToggle<cr>
+nnoremap <Leader>tu :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 ~/.mutt/muttrc<cr>
+nnoremap <Leader>ev :e ~/.vimrc<cr>
+nnoremap <Leader>ez :e ~/.zshrc<cr>
+nnoremap <Leader>et :e ~/.tmux.conf<cr>
+
+" Formatting
+nnoremap <Leader>fw :%s/\s\+$//<cr>
+nnoremap <Leader>fi zzmxgg=G'x
+
+" Navigation
+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>
+
+" 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
+
+" Dvorak specific
+nnoremap : ,
+vnoremap : ,
+nnoremap , :
+vnoremap , :
+
+" Neovim specific
+tmap <Esc> <C-\><C-n>
+
+"" Restore cursor position
+augroup cursorPosition
+ au!
+ autocmd BufReadPost *
+ \ if line("'\"") > 1 && line("'\"") <= line("$") |
+ \ exe "normal! g`\"" |
+ \ endif
+augroup END
+