Created
December 2, 2008 09:29
-
-
Save chrismcg/31068 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set shiftwidth=2 | |
set bs=2 " allow backspacing in insert mode | |
set tabstop=2 | |
set autoindent | |
set smartindent | |
set expandtab | |
set smarttab | |
set number | |
set nowrap | |
set encoding=utf8 | |
set fileencoding=utf8 | |
set incsearch " incremental search | |
set showmatch " show matching [{( | |
set hlsearch | |
set hidden " don't need to save buffers when putting them in the background | |
set history=1000 | |
set wildmenu | |
set wildmode=list:longest | |
set title | |
set scrolloff=3 | |
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp | |
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp | |
" faster updatetime for taglist | |
set updatetime=1000 | |
" Change leader to , | |
let mapleader = "," | |
" better go to mark | |
nnoremap ` ' | |
nnoremap ' ` | |
" not so many prompts | |
set shortmess=atI | |
" status line | |
set laststatus=2 | |
set statusline= | |
set statusline+=%-3.3n\ " Buffer number | |
set statusline+=%f\ " filename | |
set statusline+=%h%m%r%w\ " status flags | |
set statusline+=\ [%{strlen(&ft)?&ft:'none'}] " file type | |
set statusline+=\ [%{Tlist_Get_Tag_Prototype_By_Line()}] " file type | |
set statusline+=%= " right align | |
set statusline+=0x%-8B " char value | |
set statusline+=%-14(%l,%c%V%) " line, character | |
set statusline+=%<%P " file position | |
set ruler | |
filetype on | |
filetype indent on | |
filetype plugin on | |
syntax on | |
set background=dark | |
colorscheme ir_black | |
" gui options | |
" no toolbar | |
set guioptions-=T | |
" gentoo ebuilds | |
au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh | |
au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab | |
" TextMate style fuzzy finder | |
let g:fuzzy_ignore = "*.log" | |
let g:fuzzy_matching_limit = 70 | |
map <leader>t :FuzzyFinderTextMate<CR> | |
map <leader>T :FuzzyFinderBuffer<CR> | |
" NERDTree | |
nnoremap <silent> <leader>n :execute 'NERDTreeToggle ' . getcwd()<CR> | |
" TagList | |
nnoremap <silent> <leader>l :TlistToggle<CR> | |
"let Tlist_Show_One_File = 1 | |
let Tlist_Process_File_Always = 1 | |
let Tlist_GainFocus_On_ToggleOpen = 1 | |
let Tlist_Close_On_Select = 1 | |
let Tlist_Sort_Type = "name" | |
let Tlist_Use_Right_Window = 1 | |
let Tlist_WinWidth = 60 | |
let Tlist_Exit_OnlyWindow = 1 | |
" Bufexplorer | |
let g:bufExplorerFindActive = 1 | |
let g:bufExplorerShowRelativePath = 1 | |
" Rails.vim | |
nnoremap <leader>rmo :Rmodel | |
nnoremap <leader>rms :RSmodel | |
nnoremap <leader>rmv :RVmodel | |
nnoremap <leader>rco :Rcontroller | |
nnoremap <leader>rcs :RScontroller | |
nnoremap <leader>rcv :RVcontroller | |
" Align | |
vmap <leader>aa :Align | |
vmap <leader>a= :Align == \| => \| =<cr> | |
vmap <leader>ai :Align if<cr> | |
vmap <leader>ac :Align! P0 \:<cr> | |
" scmdiff | |
highlight DiffAdd ctermbg=DarkYellow ctermfg=black cterm=NONE | |
highlight DiffChange ctermbg=DarkYellow ctermfg=black cterm=NONE | |
highlight DiffText ctermbg=DarkCyan ctermfg=black cterm=NONE | |
highlight DiffDelete ctermbg=red ctermfg=white | |
" gitdiff | |
nnoremap <silent> <leader>gd :GITDiff<cr> | |
" Load extras | |
runtime! ftplugin/man.vim | |
runtime macros/matchit.vim | |
" My mappings | |
function! Run_spec_file(at_current_line) | |
let old_make = &makeprg | |
let spec_command = "script/spec --drb " | |
if a:at_current_line == "yes" | |
let &makeprg = spec_command."--line ".expand(line("."))." ".expand("%") | |
else | |
let &makeprg = spec_command.expand("%") | |
endif | |
exe "make" | |
let &makeprg = old_make | |
endfunction | |
" run the full file | |
nnoremap <leader>s :call Run_spec_file("no")<cr> | |
nnoremap <leader>ss :call Run_spec_file("yes")<cr> | |
" easy toggle fold | |
nnoremap <space> za | |
nnoremap <C-space> zMzv | |
" easy reload / edit vimrc | |
nmap \s :source $MYVIMRC<CR> | |
nmap \v :e $MYVIMRC<CR> | |
" better visual mode indenting | |
:vnoremap < <gv | |
:vnoremap > >gv | |
" select at current indent level from http://vim.wikia.com/wiki/Visual_selection_of_indent_block | |
" modified for ruby to allow selecting the prev and next lines too for blocks | |
function! SelectIndent (blockmode) | |
let temp_var=indent(line(".")) | |
while indent(line(".")-1) >= temp_var | |
exe "normal k" | |
endwhile | |
if a:blockmode == "yes" | |
exe "normal k" | |
end | |
exe "normal V" | |
while indent(line(".")+1) >= temp_var | |
exe "normal j" | |
endwhile | |
if a:blockmode == "yes" | |
exe "normal j" | |
end | |
endfun | |
nmap gb :call SelectIndent("yes")<CR> | |
nmap gn :call SelectIndent("no")<CR> | |
" catch trailing whitespace | |
set listchars=tab:>-,trail:·,eol:$ | |
nmap <silent> <leader>w :set nolist!<CR> | |
" better buffer switching | |
map <C-S-Right> :bnext<cr> | |
imap <C-S-Right> <ESC>:bnext<cr> | |
map <C-S-Left> :bprev<cr> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment