123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- set nocompatible
- " include Vundle
- set rtp+=~/.vim/bundle/Vundle.vim
- call vundle#begin()
- Plugin 'scrooloose/nerdtree'
- Plugin 'Xuyuanp/nerdtree-git-plugin'
- Plugin 'tpope/vim-fugitive'
- call vundle#end()
- filetype plugin indent on
- " END Vundle
- map <C-n> :NERDTreeToggle<CR>
- set number
- set ruler
- syntax on
- " Set encoding
- set encoding=utf-8
- " Whitespace stuff
- set nowrap
- set tabstop=2
- set shiftwidth=2
- set softtabstop=2
- set expandtab
- set list listchars=tab:\ \ ,trail:ยท
- " Searching
- set hlsearch
- set incsearch
- set ignorecase
- set smartcase
- " Tab completion
- set wildmode=list:longest,list:full
- set wildignore+=*.o,*.obj,.git,*.rbc,*.class,.svn,vendor/gems/*
- " Status bar
- set laststatus=2
- " Without setting this, ZoomWin restores windows in a way that causes
- " equalalways behavior to be triggered the next time CommandT is used.
- " This is likely a bludgeon to solve some other issue, but it works
- set noequalalways
- " NERDTree configuration
- let NERDTreeIgnore=['\.pyc$', '\.rbc$', '\~$']
- map <Leader>n :NERDTreeToggle<CR>
- " Command-T configuration
- let g:CommandTMaxHeight=20
- " ZoomWin configuration
- map <Leader><Leader> :ZoomWin<CR>
- " CTags
- map <Leader>rt :!ctags --extra=+f -R *<CR><CR>
- map <C-\> :tnext<CR>
- " Remember last location in file
- if has("autocmd")
- au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
- \| exe "normal g'\"" | endif
- endif
- function s:setupWrapping()
- set wrap
- set wrapmargin=2
- set textwidth=72
- endfunction
- function s:setupMarkup()
- call s:setupWrapping()
- map <buffer> <Leader>p :Hammer<CR>
- endfunction
- " make uses real tabs
- au FileType make set noexpandtab
- " Thorfile, Rakefile, Vagrantfile and Gemfile are Ruby
- au BufRead,BufNewFile {Gemfile,Rakefile,Vagrantfile,Thorfile,config.ru} set ft=ruby
- " md, markdown, and mk are markdown and define buffer-local preview
- au BufRead,BufNewFile *.{md,markdown,mdown,mkd,mkdn} call s:setupMarkup()
- " add json syntax highlighting
- au BufNewFile,BufRead *.json set ft=javascript
- au BufRead,BufNewFile *.txt call s:setupWrapping()
- " make Python follow PEP8 ( http://www.python.org/dev/peps/pep-0008/ )
- au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=79
- " allow backspacing over everything in insert mode
- set backspace=indent,eol,start
- " load the plugin and indent settings for the detected filetype
- filetype plugin indent on
- " Opens an edit command with the path of the currently edited file filled in
- " Normal mode: <Leader>e
- map <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>
- " Opens a tab edit command with the path of the currently edited file filled in
- " Normal mode: <Leader>t
- map <Leader>te :tabe <C-R>=expand("%:p:h") . "/" <CR>
- " Inserts the path of the currently edited file into a command
- " Command mode: Ctrl+P
- cmap <C-P> <C-R>=expand("%:p:h") . "/" <CR>
- " Unimpaired configuration
- " Bubble single lines
- nmap <C-Up> [e
- nmap <C-Down> ]e
- " Bubble multiple lines
- vmap <C-Up> [egv
- vmap <C-Down> ]egv
- " Enable syntastic syntax checking
- let g:syntastic_enable_signs=1
- let g:syntastic_quiet_warnings=1
- " gist-vim defaults
- if has("mac")
- let g:gist_clip_command = 'pbcopy'
- elseif has("unix")
- let g:gist_clip_command = 'xclip -selection clipboard'
- endif
- let g:gist_detect_filetype = 1
- let g:gist_open_browser_after_post = 1
- " Use modeline overrides
- set modeline
- set modelines=10
- " Default color scheme
- color sunburst
- " Directories for swp files
- set backupdir=~/.vim/backup
- set directory=~/.vim/backup
- " Turn off jslint errors by default
- let g:JSLintHighlightErrorLine = 0
- " MacVIM shift+arrow-keys behavior (required in .vimrc)
- let macvim_hig_shift_movement = 1
- " % to bounce from do to end etc.
- runtime! macros/matchit.vim
- " Show (partial) command in the status line
- set showcmd
- " Include user's local vim config
- if filereadable(expand("~/.vimrc.local"))
- source ~/.vimrc.local
- endif
|