summaryrefslogtreecommitdiff
path: root/.vimrc
diff options
context:
space:
mode:
Diffstat (limited to '.vimrc')
-rw-r--r--.vimrc232
1 files changed, 232 insertions, 0 deletions
diff --git a/.vimrc b/.vimrc
new file mode 100644
index 0000000..13a0078
--- /dev/null
+++ b/.vimrc
@@ -0,0 +1,232 @@
+
+"" Required by Vundle
+set nocompatible
+filetype off
+set rtp+=~/.vim/bundle/vundle/
+call vundle#rc()
+
+"" Plugins
+Plugin 'gmarik/Vundle'
+Plugin 'LaTeX-Box-Team/LaTeX-Box'
+Plugin 'fugitive.vim'
+Plugin 'UltiSnips'
+Plugin 'kien/ctrlp.vim'
+Plugin 'tpope/vim-surround'
+Plugin 'scrooloose/nerdtree'
+"Plugin 'OmniCppComplete'
+Plugin 'tommcdo/vim-exchange'
+"Plugin 'vim-scripts/Colour-Sampler-Pack'
+" Plugin 'EasyMotion'
+Plugin 'unimpaired.vim'
+Plugin 'Tabular'
+Plugin 'tComment'
+Plugin 'Gundo'
+Plugin 'altercation/vim-colors-solarized'
+"Plugin 'xolox/vim-misc'
+"Bundle 'xolox/vim-colorscheme-switcher'
+
+filetype plugin indent on
+
+"" Configuration
+
+" UltiSnips
+let g:UltiSnipsExpandTrigger="<tab>"
+let g:UltiSnipsJumpForwardTrigger="<tab>"
+let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
+let g:UltiSnipsEditSplit="horizontal"
+let g:UltiSnipsSnippetsDir="~/.vim/UltiSnips"
+noremap <c-tab> :UltiSnipsEdit<Return>
+
+" Latex-Box
+let g:tex_flavor='latex'
+let g:tex_conceal= 'adgm'
+let g:LatexBox_Folding=0
+
+" Gundo
+nnoremap <F5> :GundoToggle<cr>
+
+" Nerdtree
+nnoremap <F3> :NERDTreeToggle<cr>
+let NERDTreeIgnore=['\.pdf$', '\~$','\.toc$',
+ \ '\.fls$','\.bbl$','\.blg$',
+ \ '\.out$', '\.log$','\.aux$','\.sty$',
+ \ '\.fdb_latexmk$', '\.synctex.gz$','\.latexmain$']
+
+"" Options
+
+" Tabs and indent
+set smartindent
+set nosmarttab
+set expandtab
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+set autoindent
+set cindent
+
+" Folds
+set foldcolumn=0
+set foldenable
+set foldmethod=expr
+set foldlevel=0
+
+" Search
+set hlsearch
+set incsearch
+
+" Back up files
+set noswapfile
+set nowritebackup
+set undofile
+set undodir=/home/urbain/.vimundo/
+
+" Layout window
+set number
+set ruler
+set showcmd
+set listchars=tab:▸\ ,eol:¬
+set fillchars=fold:\ ,vert:\ ,
+set showbreak=...
+set colorcolumn=0
+set scrolloff=3
+set t_Co=256
+set guitablabel=%N\ %t\ %M
+
+" Layout text
+set wrap
+set linebreak
+set textwidth=0
+set conceallevel=2
+set guifont=Monaco\ 11
+
+" Case and spell
+set nospell
+set smartcase
+set ignorecase
+
+" General
+set noautochdir
+set wildmenu
+set cpoptions+=I
+set encoding=utf-8
+
+
+"" Custom mappings
+
+" Definition of leader and localleader
+let mapleader = "\\"
+let maplocalleader = "+"
+
+" Leader maps
+nmap <Space> <Leader>
+nnoremap <Leader>h :set hlsearch!<cr>
+nnoremap <Leader>n :set relativenumber!<cr>
+nnoremap <Leader>q :q!<cr>
+nnoremap <Leader>sv :source ~/.vimrc<cr>
+nnoremap <Leader>sc ;source %
+nnoremap <Leader>w :w<cr>
+nnoremap <Leader>te :tabedit
+nnoremap <Leader>tn :tabnew<cr>
+nnoremap <Leader>to :tabonly<cr>
+
+" Other maps
+nnoremap <Return> o<Esc>
+nnoremap <s-Return> O<Esc>
+nnoremap J mzJ`z
+nnoremap - za
+nnoremap <c-y> 3<c-y>
+nnoremap <c-e> 3<c-e>
+
+nnoremap j gj
+nnoremap k gk
+nnoremap $ g$
+nnoremap ^ g^
+nnoremap gj j
+nnoremap gk k
+nnoremap g$ $
+nnoremap g^ ^
+
+vnoremap j gj
+vnoremap k gk
+vnoremap $ g$
+vnoremap ^ g^
+vnoremap gj j
+vnoremap gk k
+vnoremap g$ $
+vnoremap g^ ^
+"" Latex
+nmap <buffer> <F2> <Plug>LatexChangeEnv
+let g:tex_fast=""
+
+" Synctex
+function! LatexEvinceSearch()
+ execute "!cd " . LatexBox_GetTexRoot() . '; evince_vim_dbus.py EVINCE "`basename ' . LatexBox_GetOutputFile(). '`" ' . line('.') . ' "%:p"'
+endfun
+
+command! LatexEvinceSearch call LatexEvinceSearch()
+
+autocmd FileType tex map <F6> :silent LatexEvinceSearch <Return>
+autocmd Filetype tex call SetTexOptions()
+
+"" Layout
+if has("gui_running")
+ set background=dark
+ colorscheme solarized
+else
+ set background=dark
+ colorscheme solarized
+end
+
+hi Cursor guifg=white guibg=blue
+hi iCursor guifg=black guibg=green
+hi! link conceal normal
+hi! link folded normal
+
+"" Functions
+function! Tex_ForwardSearchLaTeX()
+ let cmd = 'evince_forward_search ' . fnamemodify(LatexBox_GetMainTexFile(), ":p:r") . '.pdf ' . line(".") . ' ' . expand("%:p")
+ let output = system(cmd)
+endfunction
+
+function! SetTexOptions()
+
+ inoremap (( \left(
+ inoremap )) \right)
+ inoremap {{ \left\{
+ inoremap }} \right\}
+ inoremap [[ \left[
+ inoremap ]] \right]
+ inoremap == \,=\,
+ inoremap >> \,\geq\,
+ inoremap << \,\leq\,
+ inoremap ++ \,+\,
+ inoremap -- \,-\,
+
+ imap `a \alpha
+ imap `b \beta
+ imap `g \gamma
+ imap `d \delta
+ imap `e \varepsilon
+ imap `z \zeta
+ imap `h \eta
+ imap `t \theta
+ imap `i \iota
+ imap `k \kappa
+ imap `l \lambda
+ imap `m \mu
+ imap `n \nu
+ imap `x \xi
+ imap `r \rho
+ imap `s \sigma
+ imap `f \phi
+ imap `p \pi
+ imap `w \omega
+
+endfunction
+
+"" Autocommands
+augroup autorelead_vimrc
+ au!
+ au BufWritePost ~/.vimrc source ~/.vimrc
+augroup END
+