diff --git a/runtime/indent/tcsh.vim b/runtime/indent/tcsh.vim
index a33bdb7..cd18f06 100644
--- a/runtime/indent/tcsh.vim
+++ b/runtime/indent/tcsh.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:		C-shell (tcsh)
 " Maintainer:		Gautam Iyer <gautam@math.uchicago.edu>
-" Last Modified:	Wed 04 Feb 2004 04:36:07 PM CST
+" Last Modified:	Sat 16 Jun 2007 04:27:45 PM PDT
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -11,7 +11,7 @@
 let b:did_indent = 1
 
 setlocal indentexpr=TcshGetIndent()
-setlocal indentkeys+=e,0=end,0=endsw,*<return> indentkeys-=0{,0},0),:,0#
+setlocal indentkeys+=e,0=end,0=endsw indentkeys-=0{,0},0),:,0#
 
 " Only define the function once.
 if exists("*TcshGetIndent")
diff --git a/runtime/indent/tf.vim b/runtime/indent/tf.vim
new file mode 100644
index 0000000..61cebc3
--- /dev/null
+++ b/runtime/indent/tf.vim
@@ -0,0 +1,72 @@
+" Vim indent file
+" Language:     tf (TinyFugue)
+" Maintainer:   Christian J. Robinson <infynity@onewest.net>
+" URL:          http://www.infynity.spodzone.com/vim/indent/tf.vim
+" Last Change:  2002 May 29
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=GetTFIndent()
+setlocal indentkeys-=0{,0} indentkeys-=0# indentkeys-=:
+setlocal indentkeys+==/endif,=/then,=/else,=/done,0;
+
+" Only define the function once:
+if exists("*GetTFIndent")
+  finish
+endif
+
+function GetTFIndent()
+	" Find a non-blank line above the current line:
+	let lnum = prevnonblank(v:lnum - 1)
+
+	" No indent for the start of the file:
+	if lnum == 0
+		return 0
+	endif
+
+	let ind = indent(lnum)
+	let line = getline(lnum)
+
+	" No indentation if the previous line didn't end with "\":
+	" (Could be annoying, but it lets you know if you made a mistake.)
+	if line !~ '\\$'
+		return 0
+	endif
+
+	if line =~ '\(/def.*\\\|/for.*\(%;\s*\)\@\<!\\\)$'
+		let ind = ind + &sw
+	elseif line =~ '\(/if\|/else\|/then\)'
+		if line !~ '/endif'
+			let ind = ind + &sw
+		endif
+	elseif line =~ '/while'
+		if line !~ '/done'
+			let ind = ind + &sw
+		endif
+	endif
+
+	let line = getline(v:lnum)
+
+	if line =~ '\(/else\|/endif\|/then\)'
+		if line !~ '/if'
+			let ind = ind - &sw
+		endif
+	elseif line =~ '/done'
+		if line !~ '/while'
+			let ind = ind - &sw
+		endif
+	endif
+
+	" Comments at the beginning of a line:
+	if line =~ '^\s*;'
+		let ind = 0
+	endif
+
+
+	return ind
+
+endfunction
