" use xdg
set runtimepath=$XDG_CONFIG_HOME/vim,$VIMRUNTIME,$XDG_CONFIG_HOME/vim/after
+" bundles {{{1
filetype off
-set rtp+=$XDG_DATA_HOME/vim/vundle
+set runtimepath+=$XDG_DATA_HOME/vim/vundle
call vundle#rc('$XDG_DATA_HOME/vim')
Bundle 'gmarik/vundle'
-Bundle 'wincent/Command-T'
+
Bundle 'bling/vim-airline'
-Bundle 'ctrlp.vim'
-Bundle 'fugitive.vim'
-Bundle 'Gundo'
-Bundle 'The-NERD-tree'
-Bundle 'surround.vim'
-Bundle 'Syntastic'
-Bundle 'Tagbar'
-Bundle 'tComment'
-Bundle 'Valloric/YouCompleteMe'
Bundle 'elzr/vim-json'
+Bundle 'ervandew/ag.git'
+Bundle 'http://git.code.sf.net/p/vim-latex/vim-latex'
+Bundle 'kien/ctrlp.vim'
+Bundle 'majutsushi/tagbar'
+Bundle 'scrooloose/nerdtree'
+Bundle 'scrooloose/syntastic'
+Bundle 'sjl/gundo.vim'
+Bundle 'tomtom/tcomment_vim'
+Bundle 'tpope/vim-fugitive'
+Bundle 'tpope/vim-surround'
+Bundle 'tpope/vim-unimpaired'
+Bundle 'valloric/youcompleteme'
+Bundle 'zhaocai/goldenview.vim'
+
+Bundle 'ompugao/ros.vim'
+Bundle 'ompugao/ctrlp-ros'
+
+Bundle 'derekwyatt/vim-fswitch'
+Bundle 'jalcine/cmake.vim'
filetype plugin indent on
" displaying text {{{1
set scrolloff=5 " number of screen lines to show around the cursor
-set wrap " long lines wrap
+set nowrap " long lines wrap
set linebreak " wrap long lines at a character in 'breakat'
set showbreak=▒▒ " show these chars for wrapped lines
set background=dark " Dark background, d'uh!
syntax on
-set spelllang=en,de,fr " list of accepted languages
+set spelllang=en_gb " list of accepted languages
set dictionary=spell " list of dictionary files for keyword completion
-" toggle spell-checking
-map <silent><F10> :set nospell!<CR>:set nospell?<CR>
+" Spell Check http://tex.stackexchange.com/a/52932
+let b:myLang=0
+let g:myLangList=["en_gb","en_us","de","fr"]
+
+function! ToggleSpell()
+ execute "setlocal spell!"
+ if (&spell)
+ echo "setlocal spelllang=" g:myLangList[b:myLang]
+ endif
+endfunction
+nnoremap <silent> <Leader>s :call ToggleSpell()<CR>
+
+function! SwitchSpell()
+ if (&spell)
+ let b:myLang=b:myLang+1
+ if b:myLang>=len(g:myLangList) | let b:myLang=0 | endif
+ endif
+ execute "setlocal spell spelllang=".get(g:myLangList, b:myLang)
+ echo "setlocal spelllang=" g:myLangList[b:myLang]
+endfunction
+nnoremap <silent> <Leader>S :call SwitchSpell()<CR>
+
+" fix spelling with first choice
+nnoremap <Leader>f 1z=
if has("autocmd")
au Filetype *
set splitright " a new window is put right of the current one
-nmap <C-J> <C-W>j
-nmap <C-K> <C-W>k
-nmap <C-H> <C-W>h
-nmap <C-L> <C-W>l
-
map <F1> :ls<CR>:b<space>
" using the mouse {{{1
" folding {{{1
set foldmethod=marker " folding type
-set foldlevelstart=99 " value for 'foldlevel' when starting to edit a file
+set foldlevelstart=0 " value for 'foldlevel' when starting to edit a file
" space will toggle current fold in normal mode
nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR>
vnoremap <Space> zf
" save and restore folds
+set viewoptions=folds,cursor " don't save local options
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview
let g:airline_right_sep = '◀'
let g:airline#extensions#tabline#enabled = 1
+" GoldenView {{{2
+let g:goldenview__enable_default_mapping = 0
+nmap <silent> <C-N> <Plug>GoldenViewSplit
+nmap <silent> <C-L> <Plug>GoldenViewNext
+nmap <silent> <C-H> <Plug>GoldenViewPrevious
+nmap <silent> <C-M> <Plug>GoldenViewSwitchMain
+nmap <silent> <C-S-M> <Plug>GoldenViewPrevious
+
" Gundo {{{2
nnoremap <F7> :GundoToggle<CR>
" fugitive {{{2
nmap <F6> :NERDTreeToggle<CR>
" <space> to open files/dirs
let NERDTreeMapActivateNode='<space>'
-" open NERDTree if no files were selected
-autocmd vimenter * if !argc() | NERDTree | endif
" close vim if only NERDTree is open
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
nmap <silent> <leader>y :SyntasticCheck<cr>
if ! &diff
- let g:syntastic_check_on_open=1
+ let g:syntastic_check_on_open=1
endif
" tagbar {{{2
" vim-json {{{2
let g:vim_json_syntax_conceal = 0
+" vim-latex {{{2
+let g:tex_flavor='latex'
+let g:Tex_DefaultTargetFormat='pdf'
+
" functions {{{1
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.