|
@@ -0,0 +1,163 @@
|
|
|
+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
|