" Vundle filetype off " required! set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' " Rest of my bundles " -- File Nav -- Bundle 'kien/ctrlp.vim' Bundle 'scrooloose/nerdtree' Bundle 'ViViDboarder/a.vim' Bundle 'file-line' Bundle 'tpope/vim-fugitive' " Needs Vim compiled with Ruby Bundle 'wincent/Command-T' " -- Buffer Nav -- Bundle 'kien/tabman.vim' Bundle 'sandeepcr529/Buffet.vim' " Needs Vim compiled with Ruby Bundle 'mutewinter/LustyJuggler' " -- Nav in file -- Bundle 'taglist.vim' " Syntax checking Bundle 'scrooloose/syntastic' " Project Searching Bundle 'mileszs/ack.vim' " Easy Toggle of QuickFix window Bundle 'sunaku/QFixToggle' " -- Text Manipulation -- Bundle 'tomtom/tcomment_vim' " Surround for wrapping text Bundle 'tpope/vim-surround' " -- GUI -- Bundle 'vividchalk.vim' " Can probably drop this for wombat256 Bundle 'vim-scripts/Wombat' Bundle 'wombat256.vim' Bundle 'gregsexton/MatchTag' " Custom Status Line Bundle 'Lokaltog/vim-powerline' "Powerline Config "If using a patched font: https://github.com/Lokaltog/vim-powerline/wiki/Patched-fonts "let g:Powerline_symbols = 'fancy' " -- Filetypes -- Bundle 'ViViDboarder/vim-forcedotcom' Bundle 'pdurbin/vim-tsv' "Allow arrow keys set nocompatible "Use more convenient leader let mapleader="," "Enable mouse input set mousehide set mouse=a "tab functionality "tabs inserted as 4 spaces "backspace deletes all spaces "autoindent enabled set expandtab set tabstop=4 set shiftwidth=4 set softtabstop=4 set autoindent "Ensure backspace actually works set backspace=2 filetype plugin indent on set virtualedit=onemore " allow for cursor beyond last character set scrolljump=5 " lines to scroll when cursor leaves screen set scrolloff=3 " minimum lines to keep above and below cursor " Display filename at bottom of window set ls=2 "Set backup dirs set backup set backupdir=~/.vim/backup set directory=~/.vim/tmp "set theme based on $VIM_COLOR variable try if !empty($VIM_COLOR) colorscheme $VIM_COLOR else if has("gui_running") colorscheme wombat else colorscheme vividchalk endif endif catch /^Vim\%((\a\+)\)\=:E185/ " Colorschemes not installed yet " This happens when first installing bundles endtry "Highlights the line the cursor is on set cursorline :hi CursorLine cterm=NONE ctermbg=darkred guibg=darkred guifg=white "Toggle highlighting with \hr (highlight row) nnoremap hr :set cursorline! if has("gui_win32") set guifont=Consolas:h10:b endif "enable line numbers set nu "Toggle Line numbers with Ctrl+N double tap nmap :set invnumber nmap ln :set invnumber "Toggle line wrap with Ctrl+L double tap nmap :set wrap! nmap lw :set wrap! "Allows filetype detection filetype on "Move between splits using Ctrl+hjkl "map k "map j "map l "map h "map Shift+U to redo nnoremap "Buffet shortcut nnoremap :Bufferlist "Tab Man shortcut nnoremap :TMToggle "LustyJugler settings let g:LustyJugglerShowKeys=1 "Show numbers for Lusty Buffers let g:LustyJugglerSuppressRubyWarning=1 nnoremap :LustyJuggler nnoremap . :LustyJugglePrevious "NERDTree nnoremap :NERDTreeToggle nnoremap nn :NERDTreeToggle nnoremap nf :NERDTreeFind "CTags List nnoremap :TlistToggle let Tlist_Exit_OnlyWindow=1 let Tlist_Winwidth=30 "Syntax Hightlighting syntax on "Remap jk to esc inoremap jk "vnoremap jk "Makes it difficult to select lines as j is common "Remap Ctrl+Space for auto Complete inoremap inoremap " Stupid shift key fixes "cmap W w cmap WQ wq cmap Wq wq cmap W w cmap Q q "Enable search highlighting set hls "clearing highlighted search nmap / :set hlsearch! hlsearch? noremap :set hlsearch! hlsearch? " Change Working Directory to that of the current file cmap cwd lcd %:p:h cmap cd. lcd %:p:h " --------------- " Command T and ctrlp.vim " Snagged from mutewinter @ https://github.com/mutewinter/dot_vim " --------------- " Ensure Ctrl-P isn't bound by default let g:ctrlp_map = '' " Ensure max height isn't too large. (for performance) let g:ctrlp_max_height = 10 let g:CommandTMaxHeight = 10 " Set the default escape keybinding to, you guessed it, escape. let g:CommandTCancelMap = '' " Dynamically use Command T or ctrlp.vim based on availability of Ruby. " We do this because Command T is much faster than ctrlp.vim. if has('ruby') " -------- " Use Command T since we've got Ruby " -------- " Conditional Mappings if has('unix') nnoremap :CommandT nnoremap :CommandTFlush else nnoremap :CommandT nnoremap :CommandTFlush endif " Leader Commands nnoremap t :CommandT nnoremap b :CommandTBuffer else " -------- " Use ctrlp.vim since we don't have Ruby " -------- " Conditional Mappings if has('unix') let g:ctrlp_map = '' else let g:ctrlp_map = '' endif " Leader Commands nnoremap t :CtrlPRoot nnoremap b :CtrlPBuffer endif " Also map leader commands nnoremap u :CtrlPCurFile nnoremap m :CtrlPMRUFiles " Add some shortcuts for git commands nnoremap gs :Gstatus nnoremap gc :Gcommit nnoremap gb :Gblame " Bind Make to F5 like other IDEs nnoremap :make " Toggle QuickFix window nnoremap :QFix nmap a :Ack nmap * :Ack "nnoremap ** :Ack