dotfiles/.vimrc
michener 3b98c350b4 tmux settings
git-svn-id: http://photonzero.com/dotfiles/trunk@48 23f722f6-122a-0410-8cef-c75bd312dd78
2010-03-23 23:09:16 +00:00

175 lines
4 KiB
VimL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

set nocompatible
syntax on
"colorscheme slate
"colorscheme dante
colorscheme baraknew
"set gfn=Monaco:h12:a
set ts=8
set softtabstop=8
set shiftwidth=8
"set expandtab
set smartcase
set autoindent
set smartindent
set hidden
set backspace=indent,eol,start
set history=1000
set wildmenu
set wildmode=list:longest
set ruler
"Sources
"source ~/.vim/supertab.vim
"source ~/.vim/charm.vim
"source ~/.vim/plugin/AppleT.vim
runtime macros/matchit.vim
au BufNewFile,BufRead motd.public,/tmp/motd.public.r.* setf motd
"Highlighting features
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set tags+=$HOME/.vim/tags/python.ctags
"autocmd FileType python set omnifunc=pythoncomplete#Complete
"autocmd FileType python call SuperTabSetCompletionType("<C-X><C-O>")
let python_highlight_all = 1
let g:Tb_MaxSize=0
let g:Tb_MapCTabSwitchBufs = 1
au Filetype html,xml,xsl source ~/.vim/closetag.vim
"filetype plugin on
"MiniBufExplore Options
"let g:miniBufExplMapWindowNavVim = 1
"let g:miniBufExplMapWindowNavArrows = 1
"let g:miniBufExplMapCTabSwitchBufs = 1
"let g:miniBufExplModSelTarget = 1
"let g:miniBufExplForceSyntaxEnable = 1
set t_Co=256
set t_Sf=ESC[3%dm
set t_Sb=ESC[4%dm
"set t_kb=
"Remappings
"Open in tabs...
"nnoremap gc :tabnew<CR>
"nnoremap gK :tabclose<CR>
"nnoremap gn gt
"nnoremap gp gT
nmap gt :NERDTreeToggle<CR>
nnoremap gK :bdelete<CR>
nnoremap gKq :bdelete!<CR>
nnoremap gn :bn<CR>
nnoremap gp :bp<CR>
nnoremap gz :pclose<CR>
nnoremap gw g*
nmap P o<Esc>p
nnoremap j gj
nnoremap k gk
xnoremap j gj
xnoremap k gk
nnoremap <Down> gj
nnoremap <Up> gk
xnoremap <Down> gj
xnoremap <Up> gk
inoremap <Down> <C-o>gj
inoremap <Up> <C-o>gk
"nnoremap <C-i> <C-a>
nnoremap <C-a> ^
nnoremap <C-e> $
xnoremap <C-a> ^
xnoremap <C-e> $
inoremap <C-a> <C-O>^
inoremap <C-e> <C-O>$
imap <C-c> <Esc>
" , #perl # comments
map ,# :s/^/#/<CR>
" , #mako ## comments
map ,% :s/^/##/<CR>
" ,/ C/C++/C#/Java // comments
map ,/ :s/^/\/\//<CR>
" ,< HTML comment
map ,< :s/^\(.*\)$/<!-- \1 -->/<CR><Esc>:nohlsearch<CR>
" c++ java style comments
map ,* :s/^\(.*\)$/\/\* \1 \*\//<CR><Esc>:nohlsearch<CR>
if !exists(":W")
command W :w
endif
command SaveSession :mksession! ~/.vim_last_session
command LoadSession :source ~/.vim_last_session
command ScratchOpen :e scp://barak@barakmich.com//home/barak/notes/scratch
command Wdammit :w !sudo tee %
function! s:DiffWithSaved()
let filetype=&ft
diffthis
vnew | r # | normal! 1Gdd
diffthis
exe "setlocal bt=nofile bh=wipe nobl noswf ro ft=" . filetype
endfunction
com! DiffSaved call s:DiffWithSaved()
"cd ~/work/gd/trunk
"if has("cscope")
" set csto=0
" set cst
" set nocsverb
" " add any database in current directory
"if filereadable("~/work/gd/trunk/cscope.out")
" " cs add ~/work/gd/trunk/cscope.out
" if filereadable("cscope.out")
" cs add cscope.out
" " else add database pointed to by environment
" elseif $CSCOPE_DB != ""
" cs add $CSCOPE_DB
" endif
" set csverb
"endif
"inoremap ;a <esc>
"cd /mw/barak/gd-es-bug
"
function! Find(name)
let l:_name = substitute(a:name, "\\s", "*", "g")
"let l:list=system("find . -iname '*".l:_name."*' -not -name \"*.class\" -and -not -name \"*.swp\" | perl -ne 'print \"$.\\t$_\"'")
let l:list=system("find . -path \"*/.svn\" -prune -o -iname '*".l:_name."*' -not -name \"*.class\" -and -not -name \"*.swp\" -print | perl -ne 'print \"$.\\t$_\"'")
let l:num=strlen(substitute(l:list, "[^\n]", "", "g"))
if l:num < 1
echo "'".a:name."' not found"
return
endif
if l:num != 1
echo l:list
let l:input=input("Which ? (<enter>=nothing)\n")
if strlen(l:input)==0
return
endif
if strlen(substitute(l:input, "[0-9]", "", "g"))>0
echo "Not a number"
return
endif
if l:input<1 || l:input>l:num
echo "Out of range"
return
endif
let l:line=matchstr("\n".l:list, "\n".l:input."\t[^\n]*")
else
let l:line=l:list
endif
let l:line=substitute(l:line, "^[^\t]*\t./", "", "")
execute ":e ".l:line
endfunction
command! -nargs=1 Find :call Find("<args>")