diff .vimrc @ 0:c30d68fbd368

Initial import from svn.
author Augie Fackler <durin42@gmail.com>
date Wed, 26 Nov 2008 10:56:09 -0600
parents
children 1921c0b85a82
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/.vimrc
@@ -0,0 +1,122 @@
+if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
+   set fileencodings=utf-8,latin1
+endif
+
+"set number             " Show line number
+set nocompatible	" Use Vim defaults (much better!)
+set bs=2		" allow backspacing over everything in insert mode
+set autoindent
+"set nosmartindent
+"set backup		" keep a backup file
+set viminfo='20,\"50	" read/write a .viminfo file, don't store more
+			" than 50 lines of registers
+set history=50		" keep 50 lines of command line history
+set ruler		" show the cursor position all the time
+set hidden " allow background buffers that aren't written out
+set wildmode=list:longest,full " be more like my shell
+
+
+set ignorecase " unsure
+set smartcase
+
+set scrolloff=3 " keep 3 lines of context
+
+set incsearch " search as you type
+
+
+
+filetype plugin indent on
+colorscheme gothic
+
+
+" Only do this part when compiled with support for autocommands
+if has("autocmd")
+    " python settings
+    autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
+    autocmd FileType python set tabstop=4|set softtabstop=4|set shiftwidth=4|set expandtab
+    autocmd FileType python setlocal noautoindent nosmartindent
+    "autocmd BufRead,BufNewFile *melange*/** call confirm(string([&filetype, expand('<amatch>')]))
+    autocmd BufRead,BufNewFile *melange*/*.py setlocal sw=2 ts=2
+
+    " In text files, always limit the width of text to 78 characters
+    autocmd BufRead *.txt set tw=78
+    " When editing a file, always jump to the last cursor position
+    autocmd BufReadPost * if line("'\"") > 0 && line ("'\"") <= line("$") | exe "normal g'\"" | endif
+endif
+
+if has("cscope")
+    set csprg=/usr/bin/cscope
+    set csto=0
+    set cst
+    set nocsverb
+    " add any database in current directory
+    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
+
+" Switch syntax highlighting on, when the terminal has colors
+" Also switch on highlighting the last used search pattern.
+if &t_Co > 2 || has("gui_running")
+    syntax on
+    set hlsearch
+endif
+
+" Highlight trailing whitespace
+"au Syntax * syn match Error /\s\+$/ | syn match Error /^\s* \t\s*/
+" strip trailing whitespace on save
+autocmd FileType c,cpp,java,php,python autocmd BufWritePre <buffer> :call setline(1,map(getline(1,"$"),'substitute(v:val,"\\s\\+$","","")'))
+
+" Highlight past column 80
+:highlight Over80ColLimit term=inverse,bold cterm=bold ctermbg=red ctermfg=white gui=bold guibg=red guifg=white
+:syntax match Over80ColLimit /\%81v.*/
+
+if &term=="xterm"
+    set t_Co=8
+    set t_Sb=[4%dm
+    set t_Sf=[3%dm
+endif
+
+function! Find(name)
+  let l:_name = substitute(a:name, "\\s", "*", "g")
+  let l:list=system("find . -iname '*".l:_name."*' -not -name \"*.pyc\" -and -not -name \"*.o\" -and -not -name \"*.i\" -and -not -name \"*.class\" -and -not -name \"*.swp\" | 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>")
+
+if has("ruby")
+	map ,f :FuzzyFinderTextMate<CR>
+	let g:fuzzy_ignore="*.pyc"
+	let g:fuzzy_matching_limit=50
+else
+	map ,f :Find
+endif
+