summaryrefslogtreecommitdiffstats
path: root/vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'vimrc')
-rw-r--r--vimrc378
1 files changed, 0 insertions, 378 deletions
diff --git a/vimrc b/vimrc
deleted file mode 100644
index 68dab19..0000000
--- a/vimrc
+++ /dev/null
@@ -1,378 +0,0 @@
-" vim:foldmethod=marker commentstring="%s
-" based on Eidolos's .vimrc, at http://sartak.katron.org/vimrc
-
-" General options {{{
-" Miscellaneous {{{
-" fuck vi! long live vim!
-set nocompatible
-
-" indentation FTW.. also plugins FTW! heh
-filetype indent plugin on
-
-" automatically flush to disk when using :make, etc.
-set autowrite
-
-" Gentoo disables modelines by default
-set modeline
-"}}}
-" Display {{{
-" color!
-syntax on
-
-" lines, cols in status line
-set ruler
-
-" current mode in status line
-set showmode
-
-" display the number of (characters|lines) in visual mode, also cur command
-set showcmd
-
-" a - terse messages (like [+] instead of [Modified]
-" t - truncate file names
-" I - no intro message when starting vim fileless
-set shortmess=atI
-
-" no extra status lines
-set laststatus=0
-
-" display as much of the last line as possible if it's really long
-" also display unprintable characters as hex
-set display+=lastline,uhex
-
-" give three lines of context when moving the cursor around
-set scrolloff=3
-
-" don't redraw the screen during macros etc (NetHack's runmode:teleport)
-set lazyredraw
-
-" highlight all matches, we'll see if this works with a different hilight
-set hlsearch
-
-" highlight matching parens for .2s
-set showmatch
-set matchtime=2
-
-" threshold for reporting number of lines changed
-set report=0
-
-" highlight advanced perl vars inside strings
-let perl_extended_vars=1
-
-" POD!
-let perl_include_pod=1
-
-" I generally don't want to have to space through things.. :)
-set nomore
-
-" tab completion stuff for the command line
-set wildmode=longest,list,full
-
-" word wrapping
-set linebreak
-"}}}
-" Improve power of commands {{{
-" backspace over autoindent, end of line (to join lines), and preexisting test
-set backspace=indent,eol,start
-
-" add the dictionary to tab completion
-set dictionary=/usr/share/dict/words
-set complete+=k
-
-" tab completion in ex mode
-set wildmenu
-
-" when doing tab completion, ignore files with any of the following extensions
-set wildignore+=.log,.out,.o
-
-" remember lotsa fun stuff
-set viminfo=!,'1000,f1,/1000,:1000,<1000,@1000,h,n~/.viminfo
-
-" add : as a file-name character (mostly for Perl's mod::ules)
-set isfname+=:
-"}}}
-" Make vim less whiny {{{
-" :bn with a change in the current buffer? no prob!
-set hidden
-
-" no bells whatsoever
-set vb t_vb=
-
-" if you :q with changes it asks you if you want to continue or not
-set confirm
-
-" 50 milliseconds for escape timeout instead of 1000
-set ttimeoutlen=50
-"}}}
-" Indentation {{{
-" normal sized tabs!
-set tabstop=8
-
-" set to what i like (see #2 in :help tabstop)
-set shiftwidth=4
-
-" if it looks like a tab, we can delete it like a tab
-set softtabstop=4
-
-" no tabs! spaces only..
-set expandtab
-
-" < and > will hit indentation levels instead of always -4/+4
-set shiftround
-
-" new line has indentation equal to previous line
-set autoindent
-
-" braces affect autoindentation
-set smartindent
-
-" figure out indent when ; is pressed
-set cinkeys+=;
-
-" align break with case in a switch
-set cinoptions+=b1
-"}}}
-" Folding {{{
-" fold only when I ask for it damnit!
-set foldmethod=marker
-"}}}
-"}}}
-
-" Colors {{{
-colorscheme peachpuff
-" word completion menu {{{
-highlight Pmenu ctermfg=grey ctermbg=darkblue
-highlight PmenuSel ctermfg=red ctermbg=darkblue
-highlight PmenuSbar ctermbg=cyan
-highlight PmenuThumb ctermfg=red
-
-highlight WildMenu ctermfg=grey ctermbg=darkblue
-"}}}
-" folding {{{
-highlight Folded ctermbg=black ctermfg=darkgreen
-"}}}
-" hlsearch {{{
-highlight Search NONE ctermfg=red
-"}}}
-"}}}
-
-" Autocommands {{{
-" When editing a file, always jump to the last cursor position {{{
-autocmd BufReadPost *
-\ if line("'\"") > 0 && line("'\"") <= line("$") |
-\ exe "normal g`\"" |
-\ endif
-"}}}
-" Skeletons {{{
-autocmd BufNewFile *.pl silent 0read ~/.vim/skeletons/perl | normal Gdd
-autocmd BufNewFile *.cpp silent 0read ~/.vim/skeletons/cpp | normal Gddk
-autocmd BufNewFile *.c silent 0read ~/.vim/skeletons/c | normal Gddk
-autocmd BufNewFile *.tex silent 0read ~/.vim/skeletons/tex | normal Gddk
-autocmd BufNewFile Makefile silent 0read ~/.vim/skeletons/make | normal $
-" }}}
-" Filetypes for when detection sucks {{{
-autocmd BufNewFile,BufReadPost *.tex silent set filetype=tex
-" }}}
-" Auto +x {{{
-au BufWritePost *.sh !chmod +x %
-au BufWritePost *.pl !chmod +x %
-"}}}
-" Perl :make does a syntax check {{{
-autocmd FileType perl setlocal makeprg=$VIMRUNTIME/tools/efm_perl.pl\ -c\ %\ $*
-autocmd FileType perl setlocal errorformat=%f:%l:%m
-autocmd FileType perl setlocal keywordprg=perldoc\ -f
-"}}}
-" Latex :make converts to pdf {{{
-autocmd FileType tex setlocal makeprg=~/bin/latexpdf\ --show\ %
-" }}}
-" Lua needs to have commentstring set {{{
-autocmd FileType lua setlocal commentstring=--%s
-" }}}
-"}}}
-
-" Insert-mode remappings/abbreviations {{{
-" Arrow keys, etc {{{
-imap <up> <C-o>gk
-imap <down> <C-o>gj
-imap <home> <C-o>g<home>
-imap <end> <C-o>g<end>
-" }}}
-" Hit <C-a> in insert mode after a bad paste (thanks absolon) {{{
-inoremap <silent> <C-a> <ESC>u:set paste<CR>.:set nopaste<CR>gi
-"}}}
-" Normal-mode remappings {{{
-" have Y behave analogously to D rather than to dd
-nmap Y y$
-
-nnoremap \\ \
-nmap \/ :nohl<CR>
-nmap \s :syntax sync fromstart<CR>
-autocmd FileType help nnoremap <CR> <C-]>
-autocmd FileType help nnoremap <BS> <C-T>
-
-" damnit cbus, you've won me over
-vnoremap < <gv
-vnoremap > >gv
-" Make the tab key useful {{{
-function TabWrapper()
- if strpart(getline('.'), 0, col('.')-1) =~ '^\s*$'
- return "\<Tab>"
- elseif exists('&omnifunc') && &omnifunc != ''
- return "\<C-X>\<C-N>"
- else
- return "\<C-N>"
- endif
-endfunction
-imap <Tab> <C-R>=TabWrapper()<CR>
-"}}}
-" Painless spell checking (F11) {{{
-function s:spell()
- if !exists("s:spell_check") || s:spell_check == 0
- echo "Spell check on"
- let s:spell_check = 1
- setlocal spell spelllang=en_us
- else
- echo "Spell check off"
- let s:spell_check = 0
- setlocal spell spelllang=
- endif
-endfunction
-map <F11> :call <SID>spell()<CR>
-imap <F11> <C-o>:<BS>call <SID>spell()<CR>
-"}}}
-" Arrow keys, etc, again {{{
-map <up> gk
-map <down> gj
-map <home> g<home>
-map <end> g<end>
-" }}}
-"}}}
-" }}}
-
-" Plugin settings {{{
-" Enhanced Commentify {{{
-let g:EnhCommentifyBindInInsert = 'No'
-let g:EnhCommentifyRespectIndent = 'Yes'
-" }}}
-" Rainbow {{{
-let g:rainbow = 1
-let g:rainbow_paren = 1
-let g:rainbow_brace = 1
-" why is this necessary? shouldn't just putting it in the plugin dir work?
-autocmd BufNewFile,BufReadPost * source ~/.vim/plugin/rainbow_paren.vim
-" }}}
-" Taglist {{{
-let s:session_file = './.tlist_session'
-let TlistIncWinWidth = 0
-let Tlist_GainFocus_On_ToggleOpen = 1
-let Tlist_Use_Horiz_Window = 1
-let Tlist_Compact_Format = 1
-let Tlist_Close_On_Select = 1
-let Tlist_Display_Prototype = 1
-nnoremap <silent> <F8> :TlistToggle<CR>
-" if the current file isn't below the current directory, :. doesn't modify %
-if file_readable(s:session_file) && expand("%:.") !~ '^/'
- autocmd VimEnter * TlistDebug | exec 'TlistSessionLoad ' . s:session_file
- autocmd VimLeave * call delete(s:session_file) | exec 'TlistSessionSave ' . s:session_file
-endif
-" }}}
-" }}}
-" Text objects {{{
-" Text object creation {{{
-let g:text_object_number = 0
-function Textobj(char, callback)
- let g:text_object_number += 1
- function Textobj_{g:text_object_number}(inner, operator, count, callback)
- let [startline, startcol, endline, endcol] = function(a:callback)(a:inner, a:count)
- if startline == endline
- let objlength = endcol - startcol + 1
- else
- let lines = getline(startline + 1, endline - 1)
- let lines = [strpart(getline(startline), startcol - 1)] +
- \ lines +
- \ [strpart(getline(endline), 0, endcol)]
- let objlength = 0
- for line in lines
- let objlength += strlen(line) + 1
- endfor
- let objlength -= 1
- endif
- call cursor(startline, startcol)
- exe 'normal! '.a:operator.objlength.' '
-
- if a:operator == 'c'
- normal! l
- startinsert
- elseif a:operator == 'v'
- normal! h
- endif
- endfunction
-
- let cbname = '"' . substitute(a:callback, '^s:', '<SID>', '') . '"'
- exe 'onoremap <silent>a'.a:char.' <Esc>:call Textobj_'.g:text_object_number.'(0, v:operator, v:prevcount, '.cbname.')<CR>'
- exe 'onoremap <silent>i'.a:char.' <Esc>:call Textobj_'.g:text_object_number.'(1, v:operator, v:prevcount, '.cbname.')<CR>'
- exe 'xnoremap <silent>a'.a:char.' <Esc>:call Textobj_'.g:text_object_number.'(0, "v", v:prevcount, '.cbname.')<CR>'
- exe 'xnoremap <silent>i'.a:char.' <Esc>:call Textobj_'.g:text_object_number.'(1, "v", v:prevcount, '.cbname.')<CR>'
-endfunction
-" }}}
-" Text objects {{{
-" / for regex {{{
-function Textobj_regex(inner, operator)
- let pos = getpos('.')
- let objstart = 0
- let objlength = 0
-
- let line = strpart(getline('.'), 0, pos[2])
- let lines = getline(1, pos[1] - 1) + [line]
- let linenum = pos[1]
- for line in reverse(lines)
- let objstart = match(line, '.*\zs\\\@<!/')
- if objstart != -1
- let objlength += strlen(line) - objstart
- break
- endif
- let linenum -= 1
- let objlength += strlen(line) + 1
- endfor
- let objstart += a:inner
- let objlength -= a:inner
- let objstartline = linenum
-
- let line = strpart(getline('.'), pos[2] - 1)
- let lines = [line] + getline(pos[1] + 1, line('$'))
- let linenum = pos[1]
- for line in lines
- let objend = match(line, '\\\@<!/')
- if objend != -1
- let objlength += objend
- break
- endif
- let linenum += 1
- let objlength += strlen(line) + 1
- endfor
- let objlength -= a:inner
-
- call cursor(objstartline, objstart + 1)
- let objcmd = "normal! ".a:operator.objlength." "
- exe objcmd
- if a:operator == 'c'
- normal l
- startinsert
- elseif a:operator == 'v'
- normal h
- endif
-endfunction
-onoremap <silent>a/ <Esc>:<C-U>call Textobj_regex(0, v:operator)<CR>
-onoremap <silent>i/ <Esc>:<C-U>call Textobj_regex(1, v:operator)<CR>
-xnoremap <silent>a/ <Esc>:<C-U>call Textobj_regex(0, 'v')<CR>
-xnoremap <silent>i/ <Esc>:<C-U>call Textobj_regex(1, 'v')<CR>
-" }}}
-" }}}
-" Foldtext {{{
-let g:Foldtext_enable = 1
-let g:Foldtext_tex_enable = 1
-let g:Foldtext_cpp_enable = 1
-let g:Foldtext_perl_enable = 1
-" }}}
-" }}}
-