set runtimepath+=$XDG_DATA_HOME/vim/vundle
call vundle#rc('$XDG_DATA_HOME/vim')
-Bundle 'gmarik/vundle'
-
-Bundle 'bling/vim-airline'
-Bundle 'elzr/vim-json'
-Bundle 'rking/ag.vim'
-Bundle 'http://git.code.sf.net/p/vim-latex/vim-latex'
-Bundle 'kien/ctrlp.vim'
-Bundle 'kshenoy/vim-signature'
-Bundle 'majutsushi/tagbar'
-Bundle 'scrooloose/nerdtree'
-Bundle 'scrooloose/syntastic'
-Bundle 'sjl/gundo.vim'
-Bundle 'tomtom/tcomment_vim'
-Bundle 'tpope/vim-endwise'
-Bundle 'tpope/vim-fugitive'
-Bundle 'tpope/vim-repeat'
-Bundle 'tpope/vim-surround'
-Bundle 'tpope/vim-unimpaired'
-Bundle 'valloric/youcompleteme'
-
-Bundle 'ompugao/ros.vim'
-Bundle 'ompugao/ctrlp-ros'
-
-Bundle 'firef0x/pkgbuild.vim'
-Bundle 'derekwyatt/vim-fswitch'
+Plugin 'gmarik/vundle'
+
+Plugin 'bling/vim-airline'
+Plugin 'elzr/vim-json'
+Plugin 'rking/ag.vim'
+Plugin 'http://git.code.sf.net/p/vim-latex/vim-latex'
+Plugin 'kien/ctrlp.vim'
+Plugin 'kshenoy/vim-signature'
+Plugin 'majutsushi/tagbar'
+Plugin 'scrooloose/nerdtree'
+Plugin 'scrooloose/syntastic'
+Plugin 'sjl/gundo.vim'
+Plugin 'tomtom/tcomment_vim'
+Plugin 'tpope/vim-endwise'
+Plugin 'tpope/vim-fugitive'
+Plugin 'tpope/vim-repeat'
+Plugin 'tpope/vim-surround'
+Plugin 'tpope/vim-unimpaired'
+Plugin 'valloric/youcompleteme'
+
+Plugin 'ompugao/ros.vim'
+Plugin 'ompugao/ctrlp-ros'
+
+Plugin 'firef0x/pkgbuild.vim'
+Plugin 'derekwyatt/vim-fswitch'
" seems to have problems right now... may be add later?
-"Bundle 'jalcine/cmake.vim'
-Bundle 'powerman/vim-plugin-viewdoc'
+" Plugin 'jalcine/cmake.vim'
+" Plugin 'powerman/vim-plugin-viewdoc'
+
+Plugin 'airblade/vim-gitgutter'
+Plugin 'Raimondi/delimitMate'
+Plugin 'SirVer/ultisnips'
+Plugin 'Lokaltog/vim-easymotion'
" remove entries first
set runtimepath -=$HOME/.vim
map <space> <leader>
nnoremap <leader><cr> :make<cr>
-" moving around, searching and patterns {{{1
-set incsearch " show match for partly typed search command
-set ignorecase " ignore case when using a search pattern
-set smartcase " override 'ignorecase' when pattern has upper case characters
-set hlsearch " highlight all matches for the last used search pattern
-
" use leader-n to unhighlight search
nmap <silent> <Leader>n :silent nohl<CR>
" use leader-# to display the number of matches for the last search
cnoremap <C-H> <Left>
cnoremap <C-L> <Right>
-set nostartofline " don't move the cursor to the first non-blank char of a line
-set path=.,include/,../include/,/usr/include/c++/*,/opt/ros/hydro/include
-
-" displaying text {{{1
-set scrolloff=5 " number of screen lines to show around the cursor
-set nowrap " long lines wrap
-set linebreak " wrap long lines at a character in 'breakat'
-set showbreak=▒▒ " show these chars for wrapped lines
-
-set lazyredraw " don't redraw while executing macros
-
-set list " show chars defined in 'listchars'
-set listchars=tab:»·,trail:· " list of strings used for list mode
-set listchars+=extends:⋯,precedes:⋯
-set sidescrolloff=1 " don't scroll over the listchars
-
-set number " show the line number for each line
-set relativenumber " show the relative line number for each line
" toggle relativenumber
nnoremap <silent> <Leader>u :exe "set relativenumber!"<CR>
\ endif
endif
-
-" syntax, highlighting and spelling {{{1
colorscheme badwolf
syntax on
-set dictionary=spell " list of dictionary files for keyword completion
" Spell Check http://tex.stackexchange.com/a/52932
let b:myLang=0
let g:myLangList=["en_gb","en_us","de","fr"]
\ if &omnifunc == "" | setl omnifunc=syntaxcomplete#Complete | endif
endif
-" multiple windows {{{1
-set laststatus=2 " 0, 1 or 2; when to use a status line for the last window
-
-set previewheight=20 " default height for the preview window
-
-set splitright " a new window is put right of the current one
-
map <F1> :ls<CR>:b<space>
nmap <C-L> <C-W>w
nmap <C-H> <C-W>W
-" using the mouse {{{1
-set mouse=rnv " list of flags for using the mouse
-set ttymouse=xterm " type of mouse
"xterm mouse with middleclick paste
nnoremap <MiddleMouse> i<MiddleMouse>
vnoremap <MiddleMouse> s<MiddleMouse>
-" messages and info {{{1
-set showcmd " Show (partial) command in status line.
-set ruler " show the cursor position all the time
-set confirm " Ask what to do when closing unsaved documents
-set shortmess=filnxtoOI " don't show intro message
-
-" editing text {{{1
-set backspace=indent,eol,start " allow backspacing over everything in insert mode
-
-set showmatch " Show matching brackets.
-
-set nojoinspaces " don't use two spaces after '.' when joining a line
-set formatoptions+=j " remove comment leader when joining lines
-
-set nrformats=hex " number formats recognized for CTRL-A and CTRL-X commands
-
-" whether to use a popup menu for Insert mode completion
-set completeopt=longest,menuone,preview
-
-" Indent if we're at the beginning of a line. Else, do completion.
-function! InsertTabWrapper()
- let col = col('.') - 1
- if !col || getline('.')[col - 1] !~ '\k'
- return "\<Tab>"
- else
- return "\<C-N>"
-endif
-endfunction
-inoremap <Tab> <C-R>=InsertTabWrapper()<CR>
-inoremap <S-Tab> <C-P>
-
" fix legacy vi inconsistency
map Y y$
inoremap <C-U> <C-G>u<C-U>
inoremap <C-W> <C-G>u<C-W>
-" tabs and indent {{{1
+nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
+nmap <Leader>B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
+nmap <Leader>M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
+nmap <Leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
+
+" space will toggle current fold in normal mode
+nnoremap <leader><Space> za
+" create folds around visual selection
+vnoremap <leader><Space> zf
+
+autocmd BufWinLeave *.* mkview
+autocmd BufWinEnter *.* silent loadview
+
+" save with sudo
+cmap w!! w !sudo tee % > /dev/null
+
+
+" options {{{1
+" moving around, searching and patterns {{{2
+set incsearch " show match for partly typed search command
+set ignorecase " ignore case when using a search pattern
+set smartcase " override 'ignorecase' when pattern has upper case characters
+set hlsearch " highlight all matches for the last used search pattern
+
+set nostartofline " don't move the cursor to the first non-blank char of a line
+set path=.,include/,../include/,/usr/include/c++/*,/opt/ros/hydro/include
+
+" displaying text {{{2
+set scrolloff=5 " number of screen lines to show around the cursor
+set nowrap " long lines wrap
+set linebreak " wrap long lines at a character in 'breakat'
+set showbreak=▒▒ " show these chars for wrapped lines
+
+set lazyredraw " don't redraw while executing macros
+
+set list " show chars defined in 'listchars'
+set listchars=tab:»·,trail:· " list of strings used for list mode
+set listchars+=extends:⋯,precedes:⋯
+set sidescrolloff=1 " don't scroll over the listchars
+
+set number " show the line number for each line
+set relativenumber " show the relative line number for each line
+
+" syntax, highlighting and spelling {{{2
+set dictionary=spell " list of dictionary files for keyword completion
+
+" multiple windows {{{2
+set laststatus=2 " 0, 1 or 2; when to use a status line for the last window
+
+set previewheight=20 " default height for the preview window
+
+set splitright " a new window is put right of the current one
+
+" using the mouse {{{2
+set mouse=rnv " list of flags for using the mouse
+set ttymouse=xterm " type of mouse
+
+" messages and info {{{2
+set showcmd " Show (partial) command in status line.
+set ruler " show the cursor position all the time
+set confirm " Ask what to do when closing unsaved documents
+set shortmess=filnxtoOI " don't show intro message
+
+" editing text {{{2
+set backspace=indent,eol,start " allow backspacing over everything in insert mode
+
+set showmatch " Show matching brackets.
+
+set nojoinspaces " don't use two spaces after '.' when joining a line
+set formatoptions+=j " remove comment leader when joining lines
+
+set nrformats=hex " number formats recognized for CTRL-A and CTRL-X commands
+
+" whether to use a popup menu for Insert mode completion
+set completeopt=longest,menuone,preview
+
+" tabs and indent {{{2
set shiftwidth=4 " number of spaces used for each step of (auto)indent
set smarttab " a <Tab> in an indent inserts 'shiftwidth' spaces
set softtabstop=4 " if non-zero, number of spaces to insert for a <Tab>
set pastetoggle=<F11> " key sequence to toggle paste mode
-nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
-nmap <Leader>B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
-nmap <Leader>M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
-nmap <Leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
-
-" folding {{{1
+" folding {{{2
set foldmethod=marker " folding type
set foldlevelstart=0 " value for 'foldlevel' when starting to edit a file
-" space will toggle current fold in normal mode
-nnoremap <leader><Space> za
-" create folds around visual selection
-vnoremap <leader><Space> zf
-
" save and restore folds
set viewoptions=folds,cursor " don't save local options
-autocmd BufWinLeave *.* mkview
-autocmd BufWinEnter *.* silent loadview
-" reading and writing files {{{1
+" reading and writing files {{{2
set writebackup " write a backup file before overwriting a file
set backup " keep a backup after owerwriting a file
set backupdir=$XDG_CACHE_HOME/vim
set autowrite " automatically write a file when leaving a modified buffer
-" save with sudo
-cmap w!! w !sudo tee % > /dev/null
-
-" the swap file {{{1
+" the swap file {{{2
set directory=$XDG_CACHE_HOME/vim,.,/var/tmp
-" command line editing {{{1
+" command line editing {{{2
set history=500 " how many command lines are remembered
set wildmode=longest:full,full " specifies how command line completion works
set wildmenu " command-line completion shows a list of matches
-" various {{{1
+" various {{{2
set virtualedit=block " let cursor move past last char in <C-V> mode
set viminfo='100,<50,s10,h,n$XDG_CACHE_HOME/vim/viminfo " viminfo defaults but save file in .cache
nnoremap <silent> <leader>gs :Gstatus<CR>
nnoremap <silent> <leader>gd :Gdiff<CR>
nnoremap <silent> <leader>gc :tab Gcommit -v<CR>
+nnoremap <silent> <leader>gw :Gwrite<cr>
" NERDTree {{{2
" open/close NERDTree with \e
let g:tagbar_width = 25
let g:tagbar_iconchars = ['+', '-']
+" UltiSnips {{{2
+let g:UltiSnipsEditSplit = 'vertical'
+let g:UltiSnipsSnippetsDir = "$XDG_CONFIG_HOME/vim/ultisnips"
+
" YouCompleteMe {{{2
let g:ycm_extra_conf_globlist = ['~/src/*','/mnt/data/src/*']
let g:ycm_add_preview_to_completeopt = 1
let g:Tex_DefaultTargetFormat='pdf'
let g:Tex_MultipleCompileFormats='pdf'
-" vim-viewdoc {{{2
-let g:no_viewdoc_maps = 1
-nnoremap K :call ViewDoc('doc', '<cword>')<cr>
+" " vim-viewdoc {{{2
+" let g:no_viewdoc_maps = 1
+" nnoremap K :call ViewDoc('doc', '<cword>')<cr>
" functions {{{1
" auto source vimrc when saved