You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							235 lines
						
					
					
						
							5.6 KiB
						
					
					
				
			
		
		
	
	
							235 lines
						
					
					
						
							5.6 KiB
						
					
					
				"####################################################################
 | 
						|
" .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=<F12> " 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 = "\<Space>"
 | 
						|
 | 
						|
" some easy ones
 | 
						|
nnoremap <Leader>o :CtrlP<CR>
 | 
						|
nnoremap <Leader>w :w<CR>
 | 
						|
nnoremap <Leader>q :wq<CR>
 | 
						|
 | 
						|
" jump to visual lines
 | 
						|
nnoremap j gj
 | 
						|
nnoremap k gk
 | 
						|
 | 
						|
" stay in visual after indent
 | 
						|
vnoremap < <gv
 | 
						|
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 <esc>
 | 
						|
 | 
						|
" remove search hl
 | 
						|
nnoremap <silent><C-C> :nohl<CR>
 | 
						|
 | 
						|
" toggle conversion of buffers to tabs
 | 
						|
let notabs = 1
 | 
						|
nnoremap <silent> <F8> :let notabs=!notabs<Bar>:if notabs<Bar>:tabo<Bar>:else<Bar>:tab ball<Bar>:tabn<Bar>:endif<CR>
 | 
						|
 | 
						|
" switch buffers
 | 
						|
nnoremap <silent><Tab> :bn<Cr>
 | 
						|
nnoremap <silent><S-Tab> :bp<Cr>
 | 
						|
 | 
						|
" 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 <silent><leader>f :NERDTreeToggle<Cr>
 | 
						|
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 <silent><leader>t :TlistToggle<Cr>
 | 
						|
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 <silent><leader>g :GitGutterToggle<Cr>
 | 
						|
 | 
						|
" 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 <silent><leader>u :GundoToggle<Cr>
 | 
						|
 | 
						|
" expand-region
 | 
						|
vmap v <Plug>(expand_region_expand)
 | 
						|
vmap <C-v> <Plug>(expand_region_shrink)
 | 
						|
 | 
						|
"" }}}
 | 
						|
 |