" No Compatibility. That just sucks " especially annoying on redhat/windows/osx set nocompatible filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " Edit files using sudo/su Plugin 'chrisbra/SudoEdit.vim' " Fuzzy finder (files, mru, etc) Plugin 'ctrlpvim/ctrlp.vim' " Python Mode " Plugin 'klen/python-mode' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo "Plugin 'tpope/vim-fugitive' " plugin from http://vim-scripts.org/vim/scripts.html "Plugin 'L9' " Git plugin not hosted on GitHub "Plugin 'git://git.wincent.com/command-t.git' " git repos on your local machine (i.e. when working on your own plugin) "Plugin 'file:///home/gmarik/path/to/plugin' " The sparkup vim script is in a subdirectory of this repo called vim. " Pass the path to set the runtimepath properly. "Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " Avoid a name conflict with L9 "Plugin 'user/L9', {'name': 'newL9'} " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line " ---------- Plugin conf ----------- " " Ctrl-P" " 'c' - the directory of the current file. " 'a' - the directory of the current file, unless it is a subdirectory of the " cwd " 'r' - the nearest ancestor of the current file that contains one of these " directories or files: .git .hg .svn .bzr _darcs let g:ctrlp_working_path_mode = 'ra' " gitignore ignore let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] " ignore scm dirs let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$' " some more ignores set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.tar.*,*.tar " MacOSX/Linux set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows " chrisbra/SudoEdit.vim :let g:sudo_no_gui=1 " Python mode " Enable colorcolumn display at max_line_length *'g:pymode_options_colorcolumn'* let g:pymode_options_colorcolumn = 1 let g:pymode_options_max_line_length = 100 " -------------------------------------------" set backspace=indent,eol,start " My PC is fast enough, do syntax highlight syncing from start autocmd BufEnter * :syntax sync fromstart " Some File Type Stuff " -------------------- " Enable filetype plugins and indention filetype on " Enable Syntax Colors " -------------------- " in GUI mode we go with fruity and Monaco 12 " in CLI mode desert looks better (fruity is GUI only) syntax on if has("gui_running") colorscheme industry " set guifont=Monaco:h12 else colorscheme desert endif set scrolloff=3 " scroll lines above/below cursor set history=1000 " default 20 set incsearch " "live"-search " set ignorecase "ignore case when searching" " set smartcase " sensitive with uppercase set nrformats+=alpha " incr/decr letters C-a/-x " Automatische Einrückung (Globale Konfiguration) set smartindent set smarttab set nofoldenable " unfold by default " UTF-8 als Default-Encoding set enc=utf-8 " Ein Tab entspricht vier Leerzeichen (wie in PEP 8 definiert) " Dies aber nur für python, damit es nicht mit anderen (ruby, c, Makefiles) kollidiert autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4 " enable mouse set mouse=nvc " systags set ofu=syntaxcomplete#Complete set tags+=~/.vim/systags " relativenumber set relativenumber set number """ Return to last edit position when opening files {{{ augroup LastPosition autocmd! BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif augroup END " Keep undo history across sessions by storing it in a file let vimDir = '$HOME/.vim' if has('persistent_undo') let myUndoDir = expand(vimDir . '/undodir') " Create dirs call system('mkdir ' . vimDir) call system('mkdir ' . myUndoDir) let &undodir = myUndoDir set undofile set undolevels=500 " max undos stored set undoreload=10000 " buffer stored undos endif " --- Keybindings ---- "