From 0d23b6e515a01a5782532351821ebfa11f3d6cf2 Mon Sep 17 00:00:00 2001 From: Ben Beltran Date: Mon, 8 Oct 2012 11:44:10 -0500 Subject: Add vim again :) --- vim/vimrc | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 vim/vimrc (limited to 'vim/vimrc') diff --git a/vim/vimrc b/vim/vimrc new file mode 100644 index 0000000..3941f22 --- /dev/null +++ b/vim/vimrc @@ -0,0 +1,158 @@ +set nocompatible + +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 n :NERDTreeToggle + +" CTags +map rt :!ctags --extra=+f -R * +map :tnext + +" 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 p :Hammer +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: e +map e :e =expand("%:p:h") . "/" + +" Opens a tab edit command with the path of the currently edited file filled in +" Normal mode: t +map te :tabe =expand("%:p:h") . "/" + +" Inserts the path of the currently edited file into a command +" Command mode: Ctrl+P +cmap =expand("%:p:h") . "/" + +" Unimpaired configuration +" Bubble single lines +nmap [e +nmap ]e +" Bubble multiple lines +vmap [egv +vmap ]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 +set t_Co=256 +color railscasts + +" 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 + +" Mapping for TagBar +nmap :TagbarToggle + +" Mapping for CommandTBuffer +map t :CtrlP +map T :CtrlPBuffer +map R :CtrlPClearCache + +" Color Column +set colorcolumn=81 + +" Add Pathogen +call pathogen#infect() -- cgit