"#################################################################### " .vimrc "#################################################################### set nocompatible " vi compatibility off scriptencoding utf-8 "" Vundle filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() "" 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 nomodeline " ignore modelines 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 smartindent set shiftwidth=4 set softtabstop=4 set expandtab " use spaces set textwidth=79 "" search set smartcase set hlsearch set incsearch set showmatch "#################################################################### " visual style {{{ "#################################################################### "" colorscheme colorscheme desert set background=dark set t_Co=256 " force more colors "" highlight the current line and column set cul hi CursorLine cterm=NONE ctermbg=234 set cuc hi CursorColumn cterm=NONE ctermbg=234 "" coloring of linenumbers hi CursorLineNr cterm=bold ctermfg=red hi LineNr ctermfg=blue "" highlight same words, taken from https://github.com/adimit hi flicker cterm=bold ctermbg=234 au CursorMoved exe 'match flicker /\V\<'.escape(expand(''), '/').'\>/' "" statusbar set cmdheight=2 set laststatus=2 set showcmd "" linenumbers set relativenumber set ruler autocmd InsertEnter * :setlocal nu autocmd InsertLeave * :setlocal rnu "" }}} "#################################################################### " 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 = "," " jump to visual lines nnoremap j gj nnoremap k gk " stay in visual after indent vnoremap < >gv " change Y from yy to y$ map Y y$ " remove search hl nnoremap :nohl " NERDtree nnoremap f :NERDTreeToggle " taglist nnoremap t :TlistToggle " 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 % "" }}} "#################################################################### " autoinstall vundle {{{ " Credit to: https://github.com/erikzaadi "#################################################################### " Setting up Vundle - the vim plugin bundler let iCanHazVundle=1 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 iCanHazVundle=0 endif set rtp+=~/.vim/bundle/vundle/ call vundle#rc() Bundle 'gmarik/vundle' if iCanHazVundle == 0 echo "Installing Bundles, please ignore key map error messages" echo "" :BundleInstall endif "" }}} "#################################################################### " bundles and their options {{{ "#################################################################### Bundle 'tpope/vim-fugitive' Bundle 'Lokaltog/vim-easymotion' Bundle 'kien/ctrlp.vim' Bundle 'scrooloose/nerdtree' 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 Bundle 'scrooloose/nerdcommenter' Bundle 'vim-scripts/taglist.vim' let Tlist_Use_Right_Window=1 let Tlist_GainFocus_On_ToggleOpen = 1 Bundle 'saltstack/salt-vim' "" }}}