updated for version 7.2a
diff --git a/runtime/ftplugin/cdrdaoconf.vim b/runtime/ftplugin/cdrdaoconf.vim
new file mode 100644
index 0000000..86796eb
--- /dev/null
+++ b/runtime/ftplugin/cdrdaoconf.vim
@@ -0,0 +1,18 @@
+" Vim filetype plugin file
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2007-09-18
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
+
+let s:cpo_save = &cpo
+set cpo&vim
diff --git a/runtime/ftplugin/debcontrol.vim b/runtime/ftplugin/debcontrol.vim
new file mode 100644
index 0000000..2fb2ee7
--- /dev/null
+++ b/runtime/ftplugin/debcontrol.vim
@@ -0,0 +1,70 @@
+" Vim filetype plugin file (GUI menu and folding)
+" Language:	Debian control files
+" Maintainer:	Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former Maintainer:	Pierre Habouzit <madcoder@debian.org>
+" Last Change:	2008-03-08
+" URL:		http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/ftplugin/debcontrol.vim;hb=debian
+
+" Do these settings once per buffer
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin=1
+
+" {{{1 Local settings (do on every load)
+if exists("g:debcontrol_fold_enable")
+  setlocal foldmethod=expr
+  setlocal foldexpr=DebControlFold(v:lnum)
+  setlocal foldtext=DebControlFoldText()
+endif
+setlocal textwidth=0
+
+" Clean unloading
+let b:undo_ftplugin = "setlocal tw< foldmethod< foldexpr< foldtext<"
+
+" }}}1
+
+" {{{1 folding
+
+function! s:getField(f, lnum)
+  let line = getline(a:lnum)
+  let fwdsteps = 0
+  while line !~ '^'.a:f.':'
+    let fwdsteps += 1
+    let line = getline(a:lnum + fwdsteps)
+    if line == ''
+      return 'unknown'
+    endif
+  endwhile
+  return substitute(line, '^'.a:f.': *', '', '')
+endfunction
+
+function! DebControlFoldText()
+  if v:folddashes == '-'  " debcontrol entry fold
+    let type = substitute(getline(v:foldstart), ':.*', '', '')
+    if type == 'Source'
+      let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
+      return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
+    endif
+    let arch  = s:getField('Architecture', v:foldstart)
+    let ftext = substitute(foldtext(), ' *Package: *', ' [' . arch . '] ', '')
+    return ftext . ': ' . s:getField('Description', v:foldstart) . ' '
+  endif
+  return foldtext()
+endfunction
+
+function! DebControlFold(l)
+
+  " This is for not merging blank lines around folds to them
+  if getline(a:l) =~ '^Source:'
+    return '>1'
+  endif
+
+  if getline(a:l) =~ '^Package:'
+    return '>1'
+  endif
+
+  return '='
+endfunction
+
+" }}}1
diff --git a/runtime/ftplugin/dosini.vim b/runtime/ftplugin/dosini.vim
new file mode 100644
index 0000000..354b093
--- /dev/null
+++ b/runtime/ftplugin/dosini.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language:         Configuration File (ini file) for MSDOS/MS Windows
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2007-08-23
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:; commentstring=;\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/gitconfig.vim b/runtime/ftplugin/gitconfig.vim
new file mode 100644
index 0000000..ee33baf
--- /dev/null
+++ b/runtime/ftplugin/gitconfig.vim
@@ -0,0 +1,15 @@
+" Vim filetype plugin
+" Language:	git config file
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.info>
+" Last Change:	2007 Dec 16
+
+" Only do this when not done yet for this buffer
+if (exists("b:did_ftplugin"))
+  finish
+endif
+let b:did_ftplugin = 1
+
+setlocal formatoptions-=t formatoptions+=croql
+setlocal comments=:#,:; commentstring=;\ %s
+
+let b:undo_ftplugin = "setl fo< com< cms<"
diff --git a/runtime/ftplugin/gitrebase.vim b/runtime/ftplugin/gitrebase.vim
new file mode 100644
index 0000000..6e0e6c1
--- /dev/null
+++ b/runtime/ftplugin/gitrebase.vim
@@ -0,0 +1,41 @@
+" Vim filetype plugin
+" Language:	git rebase --interactive
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.info>
+" Last Change:	2008 Apr 16
+
+" Only do this when not done yet for this buffer
+if (exists("b:did_ftplugin"))
+    finish
+endif
+
+runtime! ftplugin/git.vim
+let b:did_ftplugin = 1
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t
+if !exists("b:undo_ftplugin")
+    let b:undo_ftplugin = ""
+endif
+let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo<"
+
+function! s:choose(word)
+    s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
+endfunction
+
+function! s:cycle()
+    call s:choose(get({'s':'edit','p':'squash'},getline('.')[0],'pick'))
+endfunction
+
+command! -buffer -bar Pick   :call s:choose('pick')
+command! -buffer -bar Squash :call s:choose('squash')
+command! -buffer -bar Edit   :call s:choose('edit')
+command! -buffer -bar Cycle  :call s:cycle()
+" The above are more useful when they are mapped; for example:
+"nnoremap <buffer> <silent> S :Cycle<CR>
+
+if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
+    finish
+endif
+
+nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
+
+let b:undo_ftplugin = b:undo_ftplugin . "|nunmap <buffer> K"