X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/a7d04a2d64559bceb74a6b11cdabbcb57f93b4d6..8b4070b51e98191e73b51fc28c42b8a10e0d92dc:/vim/vimrc diff --git a/vim/vimrc b/vim/vimrc index de0b428..c7397c4 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -3,36 +3,64 @@ " Author: Samir Benmendil " -" 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& " reset rtp +autocmd! + +set runtimepath+=$XDG_DATA_HOME/vim/vundle call vundle#rc('$XDG_DATA_HOME/vim') Bundle 'gmarik/vundle' + 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 'http://git.code.sf.net/p/vim-latex/vim-latex' Bundle 'ervandew/ag.git' +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' +" 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 and / to be +map +nnoremap :make + " 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 n :silent nohl @@ -40,22 +68,31 @@ nmap n :silent nohl nmap # :%s:/::gn " center cursor after search nnoremap n nzz + " disable arrows -inoremap -inoremap -inoremap +noremap +noremap +noremap +noremap +inoremap +inoremap +inoremap inoremap -noremap -noremap -noremap -noremap +cnoremap +cnoremap +cnoremap +cnoremap +cnoremap +cnoremap +cnoremap +cnoremap set nostartofline " don't move the cursor to the first non-blank char of a line -set path=.,** " current + subdirectory search for :find, :grep:, ... +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 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 @@ -63,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 @@ -85,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 @@ -127,13 +165,11 @@ set previewheight=20 " default height for the preview window set splitright " a new window is put right of the current one -nmap j -nmap k -nmap h -nmap l - map :ls:b +nmap w +nmap W + " using the mouse {{{1 set mouse=rnv " list of flags for using the mouse set ttymouse=xterm " type of mouse @@ -146,6 +182,7 @@ vnoremap s 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 @@ -179,8 +216,8 @@ map Y y$ vnoremap . :normal . " add line without changing position or leaving mode -map o :set pastem`o``:set nopaste -map O :set pastem`O``:set nopaste +noremap o :set pastem`o``:set nopaste +noremap O :set pastem`O``:set nopaste " Don't use Ex mode, use Q for formatting map Q gq @@ -211,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 @=(foldlevel('.')?'za':"\") +nnoremap za " create folds around visual selection -vnoremap zf +vnoremap zf " save and restore folds set viewoptions=folds,cursor " don't save local options @@ -238,28 +275,35 @@ 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 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 " 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 +"nmap GoldenViewSplit +"nmap GoldenViewNext +"nmap GoldenViewPrevious +"nmap GoldenViewSwitchMain +"nmap GoldenViewPrevious " Gundo {{{2 nnoremap :GundoToggle " fugitive {{{2 nmap dd :tab split \| Gdiff \| wincmd h +" delete fugitive buffers when closed +autocmd BufReadPost fugitive://* set bufhidden=delete " NERDTree {{{2 " open/close NERDTree with \e @@ -280,7 +324,7 @@ let g:syntastic_always_populate_loc_list=1 nmap y :SyntasticCheck if ! &diff - let g:syntastic_check_on_open=1 + let g:syntastic_check_on_open=1 endif " tagbar {{{2 @@ -292,7 +336,7 @@ let g:tagbar_width = 25 let g:tagbar_iconchars = ['+', '-'] " YouCompleteMe {{{2 -let g:ycm_extra_conf_globlist = ['/mnt/data/src/*'] +let g:ycm_extra_conf_globlist = ['~/src/*'] " vim-json {{{2 let g:vim_json_syntax_conceal = 0 @@ -301,7 +345,15 @@ let g:vim_json_syntax_conceal = 0 let g:tex_flavor='latex' let g:Tex_DefaultTargetFormat='pdf' +" vim-viewdoc {{{2 +let g:no_viewdoc_maps = 1 +nnoremap K :call ViewDoc('doc', '') + " functions {{{1 +" auto source vimrc when saved +autocmd bufwritepost vimrc source $MYVIMRC +nmap v :tabedit $MYVIMRC + " Convenient command to see the difference between the current buffer and the " file it was loaded from, thus the changes you made. " Only define it when not defined already.