diff options
Diffstat (limited to '.vim/indent')
| -rw-r--r-- | .vim/indent/indent-r.vim | 50 | ||||
| -rw-r--r-- | .vim/indent/tex.vim | 139 | 
2 files changed, 189 insertions, 0 deletions
| diff --git a/.vim/indent/indent-r.vim b/.vim/indent/indent-r.vim new file mode 100644 index 0000000..30c03c5 --- /dev/null +++ b/.vim/indent/indent-r.vim @@ -0,0 +1,50 @@ +" Vim indent file +" Language:	R +" Author:	Jeremy Stephens <jeremy.f.stephens@vanderbilt.edu> +" URL:		 +" Last Change:	 +" Version:	 +" Notes:   +" Changes:  +" Options:  + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") +	finish +endif +let b:did_indent = 1 + +setlocal indentexpr=GetRIndent() +"setlocal indentkeys+=0=,0),=EO +setlocal indentkeys+=0=,0),=EO,=> + +" Only define the function once. +if exists("*GetRIndent") +	finish +endif + +function GetRIndent() +	" Find a non-blank line above the current line. +	let lnum = prevnonblank(v:lnum - 1) +	" Hit the start of the file, use zero indent. +	if lnum == 0 +		return 0 +	endif +     +	let line = getline(lnum)      " last line +	let cline = getline(v:lnum)   " current line +	let pline = getline(lnum - 1) " previous to last line +	let ind = indent(lnum) + +	" Indent blocks enclosed by {} or () +	"if line =~ '[{(]\s*\(#[^)}]*\)\=$' +	if line =~ '[{(]\s*[^)}]*$' +		let ind = ind + &sw +	endif +	if cline =~ '^\s*[)}]' +		let ind = ind - &sw +	endif +     +	return ind +endfunction +" vim: set ts=4 sw=4: diff --git a/.vim/indent/tex.vim b/.vim/indent/tex.vim new file mode 100644 index 0000000..5823dae --- /dev/null +++ b/.vim/indent/tex.vim @@ -0,0 +1,139 @@ +" Vim indent file +" Language:     LaTeX +" Maintainer:   Johannes Tanzler <jtanzler@yline.com> +" Created:      Sat, 16 Feb 2002 16:50:19 +0100 +" Last Change:	Sun, 17 Feb 2002 00:09:11 +0100 +" Last Update:  18th feb 2002, by LH : +"               (*) better support for the option +"               (*) use some regex instead of several '||'. +" Version: 0.02 +" URL: comming soon: http://www.unet.univie.ac.at/~a9925098/vim/indent/tex.vim + +" --> If you're a Vim guru & and you find something that could be done in a +"     better (perhaps in a more Vim-ish or Vi-ish) way, please let me know!  + +" Options: {{{ +" +" To set the following options (ok, currently it's just one), add a line like +"   let g:tex_indent_items = 1 +" to your ~/.vimrc. +" +" * g:tex_indent_items +" +"   If this variable is set, item-environments are indented like Emacs does +"   it, i.e., continuation lines are indented with a shiftwidth. +"    +"   NOTE: I've already set the variable below; delete the corresponding line +"   if you don't like this behaviour. +" +"   Per default, it is unset. +"    +"              set                                unset +"   ---------------------------------------------------------------- +"       \begin{itemize}                      \begin{itemize}   +"         \item blablabla                      \item blablabla +"           bla bla bla                        bla bla bla   +"         \item blablabla                      \item blablabla +"           bla bla bla                        bla bla bla   +"       \end{itemize}                        \end{itemize}     +" +" +"   This option applies to itemize, description, enumerate, and +"   thebibliography. +" +" }}}  + +" Delete the next line to avoid the special indention of items +if !exists("g:tex_indent_items") +  let g:tex_indent_items = 1 +endif + +if exists("b:did_indent") | finish +endif +let b:did_indent = 1 + + +setlocal indentexpr=GetTeXIndent() +setlocal nolisp +setlocal nosmartindent +setlocal autoindent +setlocal indentkeys+=},=\\item,=\\bibitem + + +" Only define the function once +if exists("*GetTeXIndent") | finish +endif + + + +function GetTeXIndent() + +  " Find a non-blank line above the current line. +  let lnum = prevnonblank(v:lnum - 1) + +  " At the start of the file use zero indent. +  if lnum == 0 | return 0  +  endif + +  let ind = indent(lnum) +  let line = getline(lnum)             " last line +  let cline = getline(v:lnum)          " current line + +  " Do not change indentation of commented lines. +  if line =~ '^\s*%' +    return ind +  endif + +  " Add a 'shiftwidth' after beginning of environments. +  " Don't add it for \begin{document} and \begin{verbatim} +  ""if line =~ '^\s*\\begin{\(.*\)}'  && line !~ 'verbatim'  +  " LH modification : \begin does not always start a line +  if line =~ '\\begin{\(.*\)}'  && line !~ 'verbatim'  +        \ && line !~ 'document' + +    let ind = ind + &sw + +    if g:tex_indent_items == 1 +      " Add another sw for item-environments +      if line =~ 'itemize\|description\|enumerate\|thebibliography' +        let ind = ind + &sw +      endif +    endif +  endif + +   +  " Subtract a 'shiftwidth' when an environment ends +  if cline =~ '^\s*\\end' && cline !~ 'verbatim'  +        \&& cline !~ 'document' + +    if g:tex_indent_items == 1 +      " Remove another sw for item-environments +      if cline =~ 'itemize\|description\|enumerate\|thebibliography' +        let ind = ind - &sw +      endif +    endif + +    let ind = ind - &sw +  endif + +   +  " Special treatment for 'item' +  " ---------------------------- +   +  if g:tex_indent_items == 1 + +    " '\item' or '\bibitem' itself: +    if cline =~ '^\s*\\\(bib\)\=item'  +      let ind = ind - &sw +    endif + +    " lines following to '\item' are intented once again: +    if line =~ '^\s*\\\(bib\)\=item'  +      let ind = ind + &sw +    endif + +  endif + +  return ind +endfunction + | 
