"" 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 'tommcdo/vim-exchange' Plugin 'unimpaired.vim' Plugin 'Tabular' Plugin 'tComment' Plugin 'Gundo' Plugin 'altercation/vim-colors-solarized' Plugin 'klen/python-mode' Plugin 'honza/vim-snippets' filetype plugin indent on "" Configuration " UltiSnips let g:UltiSnipsExpandTrigger="" let g:UltiSnipsJumpForwardTrigger="" let g:UltiSnipsJumpBackwardTrigger="" let g:UltiSnipsListSnippets="" let g:UltiSnipsEditSplit="horizontal" let g:UltiSnipsSnippetsDir="~/.vim/mySnippets" let g:UltiSnipsSnippetDirectories=['UltiSnips', 'mySnippets'] let g:ctrlp_open_new_file = 't' noremap :UltiSnipsEdit " Latex-Box let g:tex_flavor='latex' let g:tex_conceal= 'adgm' let g:LatexBox_Folding=0 let g:LatexBox_viewer='zathura' let g:LatexBox_latexmk_preview_continuously=1 let g:LatexBox_quickfix=2 function! SynctexShow() let synctex = glob("*.synctex.gz") if strlen(synctex) == 0 echo "no synctex file found" else let pdffile = substitute(synctex,"synctex.gz","pdf","") let execline = printf(":!zathura --synctex-forward %d:%d:%s %s", line('.'), col('.'), shellescape(bufname("%")), shellescape(pdffile)) exec execline end endfunction " Access nnoremap a :call SynctexShow() " Initiate nnoremap i :Latexmk " Open nnoremap o :LatexView " Kill nnoremap k :LatexmkStop:LatexmkClean " Gundo nnoremap :GundoToggle " Nerdtree nnoremap :NERDTreeToggle let NERDTreeIgnore=['\.pdf$', '\~$','\.toc$', \ '\.fls$','\.bbl$','\.blg$', \ '\.out$', '\.log$','\.aux$','\.sty$', \ '\.fdb_latexmk$', '\.synctex.gz$','\.latexmain$'] " CTRL-P let g:ctrlp_map = '' let g:ctrlp_by_filename = 1 let g:ctrlp_working_path_mode = '' let g:ctrlp_show_hidden = 1 "" 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/.vim/vimundo/ " Layout window set nonumber set ruler set showcmd set listchars=tab:▸\ ,eol:¬ set fillchars=fold:\ ,vert:\ , set showbreak=... set colorcolumn=0 set scrolloff=0 if has('gui_running') set t_Co=256 else set t_Co=256 endif set guitablabel=%N\ %t\ %M set showcmd " 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 "" Colorscheme function! UpdateColorscheme() try | colorscheme solarized | catch | endtry if strftime("%H") >= 9 && strftime("%H") < 17 set background=light else set background=dark endif echom hi Cursor guifg=white guibg=blue hi iCursor guifg=black guibg=green hi! link conceal normal hi! link folded comment endfunction autocmd! BufNewFile,BufRead,BufWrite * :call UpdateColorscheme() "" Custom mappings " Leader maps let mapleader = "\\" let maplocalleader = "-" nmap " General nnoremap te :tabedit nnoremap tn :tabnew nnoremap to :tabonly nnoremap w :w nnoremap q :q! nnoremap h :set hlsearch! nnoremap n :set relativenumber! nnoremap sv :source ~/.vim/vimrc nnoremap sc :source % " Other maps nnoremap o nnoremap O nnoremap J mzJ`z nnoremap - za nnoremap 3 nnoremap 3 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^ ^ " Convenient maps " nnoremap e j " nnoremap u k " nnoremap j e " nnoremap k u "" Latex nmap 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 :silent LatexEvinceSearch autocmd Filetype tex call SetTexOptions() "" 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 ~/.vim/vimrc source ~/.vim/vimrc augroup END