" no vi-compatible set nocompatible " 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 " required for vundle filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' Bundle 'vim-smooth-scroll' Bundle 'vim-multiple-cursors' " Needed for powerline Bundle 'Tagbar' Bundle 'fugitive.vim' Bundle 'Syntastic' Bundle 'SuperTab' Bundle 'kien/ctrlp.vim' Bundle 'fisadev/vim-ctrlp-cmdpalette' Bundle 'mattn/emmet-vim' Bundle 'motemen/git-vim' Bundle 'Lokaltog/vim-powerline' Bundle 'rosenfeld/conque-term' Bundle 'michaeljsmith/vim-indent-object' Bundle 'airblade/vim-gitgutter' Bundle 'IndexedSearch' " Installing plugins the first time if iCanHazVundle == 0 echo "Installing Bundles, please ignore key map error messages" echo "" :BundleInstall endif " allow plugins by file type filetype plugin on filetype indent on syntax enable set t_Co=256 colorscheme xoria256 set showmatch set ignorecase set cindent set ai set cul set guioptions-=mlrbT " tabs and spaces handling set expandtab set tabstop=4 set softtabstop=4 set shiftwidth=4 " tablength exceptions autocmd FileType html setlocal shiftwidth=2 tabstop=2 softtabstop=2 autocmd FileType htmldjango setlocal shiftwidth=2 tabstop=2 softtabstop=2 autocmd FileType javascript setlocal shiftwidth=2 tabstop=2 softtabstop=2 " always show status bar set ls=2 " incremental search set incsearch " highlighted search results set hlsearch " line numbers set nu " save as sudo ca w!! w !sudo tee "%" " CtrlP (new fuzzy finder) let g:ctrlp_map = ',e' nmap ,g :CtrlPBufTag nmap ,G :CtrlPBufTagAll nmap ,f :CtrlPLine nmap ,m :CtrlPMRUFiles nmap ,c :CtrlPCmdPalette " to be able to call CtrlP with default search text function! CtrlPWithSearchText(search_text, ctrlp_command_end) execute ':CtrlP' . a:ctrlp_command_end call feedkeys(a:search_text) endfunction " CtrlP with default text nmap ,wg :call CtrlPWithSearchText(expand(''), 'BufTag') nmap ,wG :call CtrlPWithSearchText(expand(''), 'BufTagAll') nmap ,wf :call CtrlPWithSearchText(expand(''), 'Line') nmap ,we :call CtrlPWithSearchText(expand(''), '') nmap ,pe :call CtrlPWithSearchText(expand(''), '') nmap ,wm :call CtrlPWithSearchText(expand(''), 'MRUFiles') nmap ,wc :call CtrlPWithSearchText(expand(''), 'CmdPalette') " Don't change working directory let g:ctrlp_working_path_mode = 0 " Ignore files on fuzzy finder let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/](\.git|\.hg|\.svn)$', \ 'file': '\.pyc$\|\.pyo$', \ } " simple recursive grep command! -nargs=1 RecurGrep lvimgrep //gj ./**/*.* | lopen | set nowrap command! -nargs=1 RecurGrepFast silent exec 'lgrep! ./**/*.*' | lopen nmap ,R :RecurGrep nmap ,r :RecurGrepFast nmap ,wR :RecurGrep nmap ,wr :RecurGrepFast " smooth scroll https://github.com/terryma/vim-smooth-scroll noremap :call smooth_scroll#up(&scroll, 10, 2) noremap :call smooth_scroll#down(&scroll, 10, 2) " multiple cursors https://github.com/terryma/vim-multiple-cursors let g:multi_cursor_use_default_mapping=0 let g:multi_cursor_next_key='' let g:multi_cursor_prev_key='' let g:multi_cursor_skip_key='' let g:multi_cursor_quit_key='' " use 256 colors when possible if &term =~? 'mlterm\|xterm\|xterm-256\|screen-256' let &t_Co = 256 endif " when scrolling, keep cursor 3 lines away from screen border set scrolloff=3 " autocompletion of files and commands behaves like shell " (complete only the common part, list the options that match) set wildmode=list:longest " to use fancy symbols for powerline, uncomment the following line and use a " patched font (more info on the README.rst) let g:Powerline_symbols = 'fancy' set clipboard=unnamedplus set guioptions-=l set guioptions-=L set guioptions-=m set guioptions-=r set guioptions-=R set guioptions-=T if has("gui_running") if has("gui_gtk2") set guifont=Ubuntu\ Mono\ for\ Powerline\ 9 endif endif imap jk