" 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 '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' " Text Manipulation Bundle 'tomtom/tcomment_vim' Bundle 'pdurbin/vim-tsv' " GUI Bundle 'vividchalk.vim' Bundle 'gregsexton/MatchTag' " Filetypes Bundle 'vividboarder/vim-forcedotcom' "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 try colorscheme vividchalk catch /^Vim\%((\a\+)\)\=:E185/ " deal with it 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 <Leader>hr :set cursorline!<CR> "enable line numbers set nu "Toggle Line numbers with Ctrl+N double tap nmap <C-N><C-N> :set invnumber<CR> nmap <leader>ln :set invnumber<CR> "Toggle line wrap with Ctrl+L double tap nmap <C-L><C-L> :set wrap!<CR> nmap <leader>lw :set wrap!<CR> "Allows filetype detection filetype on "Move between splits using Ctrl+hjkl map <C-k> <C-w>k map <C-j> <C-w>j map <C-l> <C-w>l map <C-h> <C-w>h "map Shift+U to redo nnoremap <S-u> <C-r> "Buffet shortcut nnoremap <silent> <F2> :Bufferlist<CR> "Tab Man shortcut nnoremap <silent> <F3> :TMToggle<CR> "LustyJugler settings let g:LustyJugglerShowKeys=1 "Show numbers for Lusty Buffers let g:LustyJugglerSuppressRubyWarning=1 nnoremap <silent> <C-L><C-J> :LustyJuggler<CR> nnoremap <leader>. :LustyJugglePrevious<CR> "NERDTree nnoremap <silent> <F4> :NERDTreeToggle<CR> nnoremap <leader>nn :NERDTreeToggle<CR> nnoremap <leader>nf :NERDTreeFind<CR> "CTags List nnoremap <silent> <F8> :TlistToggle<CR> let Tlist_Exit_OnlyWindow=1 let Tlist_Winwidth=30 "Syntax Hightlighting syntax on "Remap jk to esc inoremap jk <esc> "vnoremap jk <esc> "Makes it difficult to select lines as j is common "Remap Ctrl+Space for auto Complete inoremap <C-Space> <C-n> inoremap <Nul> <C-n> " Stupid shift key fixes "cmap W w cmap WQ<CR> wq<CR> cmap Wq<CR> wq<CR> cmap W<CR> w<CR> cmap Q<CR> q<CR> "Enable search highlighting set hls "clearing highlighted search nmap <silent> <leader>/ :set hlsearch! hlsearch?<CR> noremap <C-h><C-s> :set hlsearch! hlsearch?<CR> " 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 = '<esc>' " 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 <silent><C-t> :CommandT<CR> else nnoremap <silent><M-t> :CommandT<CR> endif " Leader Commands nnoremap <leader>t :CommandT<CR> nnoremap <leader>b :CommandTBuffer<CR> else " -------- " Use ctrlp.vim since we don't have Ruby " -------- " Conditional Mappings if has('unix') let g:ctrlp_map = '<C-t>' else let g:ctrlp_map = '<M-t>' endif " Leader Commands nnoremap <leader>t :CtrlPRoot<CR> nnoremap <leader>b :CtrlPBuffer<CR> endif " Also map leader commands nnoremap <leader>u :CtrlPCurFile<CR> nnoremap <leader>m :CtrlPMRUFiles<CR> " Add some shortcuts for git commands nnoremap <leader>gs :Gstatus<CR> nnoremap <leader>gc :Gcommit<CR> nnoremap <leader>gb :Gblame<CR>