"#################################################################### " .vimrc "#################################################################### set nocompatible " vi compatibility off scriptencoding utf-8 "" filetype plugin and syntax syntax on filetype indent plugin on "" system set enc=utf-8 set shell=/bin/zsh set spelllang=de set backspace=indent,eol,start "" single settings set hidden " change buffers without saving set mousehide " no mouse set wildmenu " menu when tab completing commands set nostartofline " don't move the coursor to the beginning of the line set foldmethod=marker " fold by marker set scrolloff=11 " minimum lines to the screens end set autochdir " always be in the right directory set pastetoggle= " toggle paste "" persistent undo and backup set history=1000 set undofile set undodir=~/.backup/ set backup set backupdir=~/.backup/ "" tabs and stuff set nosmartindent set shiftwidth=4 set softtabstop=4 set expandtab " use spaces set textwidth=0 set wrapmargin=0 "" search set smartcase set hlsearch set incsearch set showmatch "#################################################################### " visual style {{{ "#################################################################### "" colorscheme "colorscheme wombat256mod " set after the bundles at the end of this file! set background=dark set t_Co=256 " force more colors "" highlight the current line and column set cul set cuc "" statusbar set cmdheight=2 set laststatus=2 set showcmd "" linenumbers set number set relativenumber set ruler "" }}} "#################################################################### " general auto commands {{{ "#################################################################### " autoremove trailing whitespace autocmd BufRead,BufWrite * if ! &bin | silent! %s/\s\+$//ge | endif " salt syntax highlighting au BufRead,BufNewFile *.sls set filetype=sls " arduino syntax highlightning au BufRead,BufNewFile *.ino set filetype=c "" }}} "#################################################################### " keymaps {{{ "#################################################################### let mapleader = "\" " some easy ones nnoremap o :CtrlP nnoremap w :w nnoremap q :wq " jump to visual lines nnoremap j gj nnoremap k gk " stay in visual after indent vnoremap < >gv " replace dollar and acute nnoremap B ^ nnoremap E $ " highlight last inserted text nnoremap gV `[v`] " change Y from yy to y$ map Y y$ " alternative esc inoremap jk " remove search hl nnoremap :nohl " toggle conversion of buffers to tabs let notabs = 1 nnoremap :let notabs=!notabs:if notabs:tabo:else:tab ball:tabn:endif " switch buffers nnoremap :bn nnoremap :bp " save with sudo cmap w!! w !sudo tee % " never open first grep/ack hit cmap ack Ack! cmap grep grep! "" }}} "#################################################################### " autoinstall vundle and bundles {{{ " Credit to: https://github.com/erikzaadi "#################################################################### " automatic installation of vundle on fresh deployments let installed_vundle=0 let vundle_readme=expand('~/.vim/bundle/vundle/README.md') if !filereadable(vundle_readme) echo "Installing Vundle..." echo "" silent !mkdir -p ~/.vim/bundle silent !git clone https://github.com/gmarik/vundle ~/.vim/bundle/vundle let installed_vundle=1 endif set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " begin bundles Bundle 'gmarik/vundle' Bundle 'myusuf3/numbers.vim' Bundle 'tpope/vim-fugitive' Bundle 'Lokaltog/vim-easymotion' Bundle 'kien/ctrlp.vim' Bundle 'scrooloose/nerdtree' Bundle 'tomtom/tcomment_vim' Bundle 'vim-scripts/taglist.vim' Bundle 'saltstack/salt-vim' Bundle 'vim-scripts/wombat256.vim' Bundle 'bling/vim-airline' Bundle 'goldfeld/vim-seek' Bundle 'davidhalter/jedi-vim' Bundle 'airblade/vim-gitgutter' Bundle 'ivyl/vim-bling' Bundle 'mileszs/ack.vim' Bundle 'sjl/gundo.vim' Bundle 'terryma/vim-expand-region' "Bundle 'Yggdroot/indentLine' " good with my urxvt config: let g:indentLine_color_term = 239 if installed_vundle == 1 :BundleInstall endif "" }}} "#################################################################### " bundle options {{{ "#################################################################### " NERDTree nnoremap f :NERDTreeToggle let NERDTreeShowBookmarks=1 let NERDTreeIgnore=['\.pyc', '\~$', '\.swo$', '\.swp$', '\.git', '\.hg', '\.svn', '\.bzr'] let NERDTreeChDirMode=0 let NERDTreeQuitOnOpen=1 let NERDTreeMouseMode=2 let NERDTreeShowHidden=1 let NERDTreeKeepTreeInNewTab=1 " Taglist noremap t :TlistToggle let Tlist_Use_Right_Window=1 let Tlist_GainFocus_On_ToggleOpen = 1 " Colorscheme from bundle (needs to come after its Bundle line) colorscheme wombat256mod " Airline let g:airline#extensions#tabline#enabled = 1 let g:airline_left_sep = '' let g:airline_right_sep = '' let g:airline#extensions#tabline#fnamecollapse = 0 let g:airline_exclude_preview=1 " Seek let g:seek_subst_disable = 1 let g:seek_enable_jumps = 1 let g:seek_enable_jumps_in_diff = 1 " Jedi let g:jedi#goto_assignments_command = "" let g:jedi#use_tabs_not_buffers = 0 let g:jedi#popup_on_dot = 0 " GitGutter let g:gitgutter_enabled = 0 noremap g :GitGutterToggle " crtl-p let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . -co --exclude-standard', 'find %s -type f'] let g:ctrlp_use_caching = 0 " Gundo nnoremap u :GundoToggle " expand-region vmap v (expand_region_expand) vmap (expand_region_shrink) "" }}}