]> git.rmz.io Git - dotfiles.git/blobdiff - vim/vimrc
awesome: remove launcher menu button
[dotfiles.git] / vim / vimrc
index 5e4a0b42f8051e78dbc507b2545d0a3916847d1f..3422030b76feeff0c9619332735fb63518a48a52 100644 (file)
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -3,11 +3,11 @@
 " Author:   Samir Benmendil <samir.benmendil[at]gmail[dot]com>
 "
 
-" use xdg
-set runtimepath=$XDG_CONFIG_HOME/vim,$VIMRUNTIME,$XDG_CONFIG_HOME/vim/after
-
 " bundles {{{1
 filetype off
+set runtimepath& " reset rtp
+autocmd!
+
 set runtimepath+=$XDG_DATA_HOME/vim/vundle
 call vundle#rc('$XDG_DATA_HOME/vim')
 
@@ -15,33 +15,52 @@ Bundle 'gmarik/vundle'
 
 Bundle 'bling/vim-airline'
 Bundle 'elzr/vim-json'
-Bundle 'ervandew/ag.git'
+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 'zhaocai/goldenview.vim'
 
 Bundle 'ompugao/ros.vim'
 Bundle 'ompugao/ctrlp-ros'
 
+Bundle 'firef0x/pkgbuild.vim'
 Bundle 'derekwyatt/vim-fswitch'
-Bundle 'jalcine/cmake.vim'
+" seems to have problems right now... may be add later?
+" Bundle 'jalcine/cmake.vim'
+" Bundle 'powerman/vim-plugin-viewdoc'
+
+" remove entries first
+set runtimepath -=$HOME/.vim
+set runtimepath -=$HOME/.vim/after
+set runtimepath -=$XDG_CONFIG_HOME/vim
+set runtimepath -=$XDG_CONFIG_HOME/vim/after
+" then prepend and append them
+set runtimepath ^=$XDG_CONFIG_HOME/vim
+set runtimepath +=$XDG_CONFIG_HOME/vim/after
 
 filetype plugin indent on
 
+" bindings {{{1
+" allow both <space> and / to be <leader>
+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
+set hlsearch            " highlight all matches for the last used search pattern
 
 " use leader-n to unhighlight search
 nmap <silent> <Leader>n :silent nohl<CR>
@@ -49,15 +68,24 @@ nmap <silent> <Leader>n :silent nohl<CR>
 nmap <Leader># :%s:<C-R>/::gn<CR>
 " center cursor after search
 nnoremap n nzz
+
 " disable arrows
-inoremap <Up> <NOP>
-inoremap <Down> <NOP>
-inoremap <Left> <NOP>
+noremap  <Up>    <NOP>
+noremap  <Down>  <NOP>
+noremap  <Left>  <NOP>
+noremap  <Right> <NOP>
+inoremap <Up>    <NOP>
+inoremap <Down>  <NOP>
+inoremap <Left>  <NOP>
 inoremap <Right> <NOP>
-noremap <Up> <NOP>
-noremap <Down> <NOP>
-noremap <Left> <NOP>
-noremap <Right> <NOP>
+cnoremap <Up>    <NOP>
+cnoremap <Down>  <NOP>
+cnoremap <Left>  <NOP>
+cnoremap <Right> <NOP>
+cnoremap <C-K>   <Up>
+cnoremap <C-J>   <Down>
+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
@@ -72,6 +100,8 @@ 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
@@ -94,10 +124,9 @@ endif
 
 
 " syntax, highlighting and spelling {{{1
-set background=dark             " Dark background, d'uh!
+colorscheme badwolf
 syntax on
 
-set spelllang=en_gb             " list of accepted languages
 set dictionary=spell            " list of dictionary files for keyword completion
 " Spell Check http://tex.stackexchange.com/a/52932
 let b:myLang=0
@@ -187,8 +216,8 @@ map Y y$
 vnoremap . :normal .<CR>
 
 " add line without changing position or leaving mode
-map <Leader>o :set paste<CR>m`o<ESC>``:set nopaste<CR>
-map <Leader>O :set paste<CR>m`O<ESC>``:set nopaste<CR>
+noremap <silent> <Leader>o :set paste<CR>m`o<ESC>``:set nopaste<CR>
+noremap <silent> <Leader>O :set paste<CR>m`O<ESC>``:set nopaste<CR>
 
 " Don't use Ex mode, use Q for formatting
 map Q gq
@@ -219,9 +248,9 @@ 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 <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR>
+nnoremap <leader><Space> za
 " create folds around visual selection
-vnoremap <Space> zf
+vnoremap <leader><Space> zf
 
 " save and restore folds
 set viewoptions=folds,cursor    " don't save local options
@@ -246,23 +275,25 @@ set directory=$XDG_CACHE_HOME/vim,.,/var/tmp
 
 " command line editing {{{1
 set history=500                 " how many command lines are remembered
-set wildmode=longest:full       " specifies how command line completion works
+set wildmode=longest:full,full  " specifies how command line completion works
 set wildmenu                    " command-line completion shows a list of matches
 
 " various {{{1
 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 .vim
+set viminfo='100,<50,s10,h,n$XDG_CACHE_HOME/vim/viminfo " viminfo defaults but save file in .cache
 
 set viewdir=$XDG_CACHE_HOME/vim
 
 " plugins {{{1
+" ag {{{2
+let g:AgSmartCase = 1
+nnoremap <leader>ag yiw:Ag \12"<cr>
+vnoremap <leader>ag y:Ag \12"<cr>
+
 " airline {{{2
 let g:airline_detect_whitespace=2
-let g:airline_whitespace_symbol = 'Ξ'
-let g:airline_linecolumn_prefix = '␊ '
-let g:airline_left_sep = '▶'
-let g:airline_right_sep = '◀'
 let g:airline#extensions#tabline#enabled = 1
+let g:airline_powerline_fonts = 1
 
 " GoldenView {{{2
 "let g:goldenview__enable_default_mapping = 0
@@ -279,6 +310,10 @@ nmap <silent> <leader>dd :tab split \| Gdiff \| wincmd h<CR>
 " delete fugitive buffers when closed
 autocmd BufReadPost fugitive://* set bufhidden=delete
 
+nnoremap <silent> <leader>gs :Gstatus<CR>
+nnoremap <silent> <leader>gd :Gdiff<CR>
+nnoremap <silent> <leader>gc :tab Gcommit -v<CR>
+
 " NERDTree {{{2
 " open/close NERDTree with \e
 nmap <Leader>e :NERDTreeToggle<CR>
@@ -310,7 +345,11 @@ let g:tagbar_width = 25
 let g:tagbar_iconchars = ['+', '-']
 
 " YouCompleteMe {{{2
-let g:ycm_extra_conf_globlist = ['~/src/*']
+let g:ycm_extra_conf_globlist = ['~/src/*','/mnt/data/src/*']
+let g:ycm_add_preview_to_completeopt = 1
+let g:ycm_autoclose_preview_window_after_insertion = 1
+"let g:ycm_extra_conf_vim_data = ['%:p']
+nnoremap <leader>jd :YcmCompleter GoTo<CR>
 
 " vim-json {{{2
 let g:vim_json_syntax_conceal = 0
@@ -318,6 +357,11 @@ let g:vim_json_syntax_conceal = 0
 " vim-latex {{{2
 let g:tex_flavor='latex'
 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>
 
 " functions {{{1
 " auto source vimrc when saved