" Use Vim settings, rather then Vi settings. This setting must be as early as " possible, as it has side effects. set nocompatible " Leader let mapleader = " " set backspace=2 " Backspace deletes like most programs in insert mode set nobackup set nowritebackup set noswapfile " http://robots.thoughtbot.com/post/18739402579/global-gitignore#comment-458413287 set history=50 set ruler " show the cursor position all the time set showcmd " display incomplete commands set incsearch " do incremental searching set laststatus=2 " Always display the status line set autowrite " Automatically :write before running commands " Switch syntax highlighting on, when the terminal has colors " Also switch on highlighting the last used search pattern. if (&t_Co > 2 || has("gui_running")) && !exists("syntax_on") syntax on endif if filereadable(expand("~/.vimrc.bundles")) source ~/.vimrc.bundles endif filetype plugin indent on augroup vimrcEx autocmd! " When editing a file, always jump to the last known cursor position. " Don't do it for commit messages, when the position is invalid, or when " inside an event handler (happens when dropping a file on gvim). autocmd BufReadPost * \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | \ endif " Cucumber navigation commands autocmd User Rails Rnavcommand step features/step_definitions -glob=**/* -suffix=_steps.rb autocmd User Rails Rnavcommand config config -glob=**/* -suffix=.rb -default=routes " Set syntax highlighting for specific file types autocmd BufRead,BufNewFile Appraisals set filetype=ruby autocmd BufRead,BufNewFile *.md set filetype=markdown " Enable spellchecking for Markdown autocmd FileType markdown setlocal spell " Automatically wrap at 80 characters for Markdown autocmd BufRead,BufNewFile *.md setlocal textwidth=80 " Allow stylesheets to autocomplete hyphenated words autocmd FileType css,scss,sass setlocal iskeyword+=- augroup END " Softtabs, 2 spaces set tabstop=2 set shiftwidth=2 set shiftround set expandtab " Use The Silver Searcher https://github.com/ggreer/the_silver_searcher if executable('ag') " Use Ag over Grep set grepprg=ag\ --nogroup\ --nocolor " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' " ag is fast enough that CtrlP doesn't need to cache let g:ctrlp_use_caching = 0 endif " Color scheme colorscheme github highlight NonText guibg=#060606 highlight Folded guibg=#0A0A0A guifg=#9090D0 " Make it obvious where 80 characters is set textwidth=80 set colorcolumn=+1 " Numbers set number set numberwidth=5 " Tab completion " will insert tab at beginning of line, " will use completion if not at beginning set wildmode=list:longest,list:full function! InsertTabWrapper() let col = col('.') - 1 if !col || getline('.')[col - 1] !~ '\k' return "\" else return "\" endif endfunction inoremap =InsertTabWrapper() inoremap " Exclude Javascript files in :Rtags via rails.vim due to warnings when parsing let g:Tlist_Ctags_Cmd="ctags --exclude='*.js'" " Index ctags from any project, including those outside Rails map ct :!ctags -R . " Switch between the last two files nnoremap " Get off my lawn nnoremap :echoe "Use h" nnoremap :echoe "Use l" nnoremap :echoe "Use k" nnoremap :echoe "Use j" " vim-rspec mappings nnoremap t :call RunCurrentSpecFile() nnoremap s :call RunNearestSpec() nnoremap l :call RunLastSpec() " Run commands that require an interactive shell nnoremap r :RunInInteractiveShell " Treat
  • and

    tags like the block tags they are let g:html_indent_tags = 'li\|p' " Open new split panes to right and bottom, which feels more natural set splitbelow set splitright " Quicker window movement nnoremap j nnoremap k nnoremap h nnoremap l " configure syntastic syntax checking to check on open as well as save let g:syntastic_check_on_open=1 let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute \"ng-"] " Set spellfile to location that is guaranteed to exist, can be symlinked to " Dropbox or kept in Git and managed outside of thoughtbot/dotfiles using rcm. set spellfile=$HOME/.vim-spell-en.utf-8.add " Local config if filereadable($HOME . "/.vimrc.local") source ~/.vimrc.local endif colorscheme monokai