diff --git a/runtime/ftplugin/bitbake.vim b/runtime/ftplugin/bitbake.vim
new file mode 100644
index 0000000..99fe334
--- /dev/null
+++ b/runtime/ftplugin/bitbake.vim
@@ -0,0 +1,16 @@
+" Vim filetype plugin file
+" Language: Bitbake
+" Maintainer: Gregory Anders <greg@gpanders.com>
+" Repository: https://github.com/openembedded/bitbake
+" Latest Revision: 2022-07-23
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+setlocal commentstring=#%s
+setlocal comments=:#
+setlocal suffixesadd=.bb,.bbclass
+
+let b:undo_ftplugin = "setl cms< com< sua<"
diff --git a/runtime/ftplugin/expect.vim b/runtime/ftplugin/expect.vim
new file mode 100644
index 0000000..a4c6af9
--- /dev/null
+++ b/runtime/ftplugin/expect.vim
@@ -0,0 +1,24 @@
+" Vim filetype plugin file
+" Language:	Expect
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2022 Jul 16
+
+if exists("b:did_ftplugin")
+  finish
+endif
+
+" Syntax is similar to Tcl
+runtime! ftplugin/tcl.vim
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+  let b:browsefilter = "Expect Command Files (*.exp)\t*.exp\n" ..
+	\	       "All Files (*.*)\t*.*\n"
+endif
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: nowrap sw=2 sts=2 ts=8
diff --git a/runtime/ftplugin/html.vim b/runtime/ftplugin/html.vim
index 3179aa2..94cb626 100644
--- a/runtime/ftplugin/html.vim
+++ b/runtime/ftplugin/html.vim
@@ -1,16 +1,14 @@
 " Vim filetype plugin file
-" Language:	html
-"
-" This runtime file is looking for a new maintainer.
-"
-" Former maintainer:	Dan Sharp
-" Last Changed: 20 Jan 2009
+" Language:		HTML
+" Maintainer:		Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer:	Dan Sharp
+" Last Changed:		2022 Jul 20
 
-if exists("b:did_ftplugin") | finish | endif
+if exists("b:did_ftplugin")
+  finish
+endif
 let b:did_ftplugin = 1
 
-" Make sure the continuation lines below do not cause problems in
-" compatibility mode.
 let s:save_cpo = &cpo
 set cpo-=C
 
@@ -18,36 +16,40 @@
 setlocal commentstring=<!--%s-->
 setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
 
-if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
-    setlocal formatoptions-=t formatoptions+=croql
+let b:undo_ftplugin = "setlocal comments< commentstring< matchpairs<"
+
+if get(g:, "ft_html_autocomment", 0)
+  setlocal formatoptions-=t formatoptions+=croql
+  let b:undo_ftplugin ..= " | setlocal formatoptions<"
 endif
 
 if exists('&omnifunc')
   setlocal omnifunc=htmlcomplete#CompleteTags
   call htmlcomplete#DetectOmniFlavor()
+  let b:undo_ftplugin ..= " | setlocal omnifunc<"
 endif
 
-" HTML:  thanks to Johannes Zellner and Benji Fisher.
-if exists("loaded_matchit")
-    let b:match_ignorecase = 1
-    let b:match_words = '<:>,' .
-    \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
-    \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
-    \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
+" HTML: thanks to Johannes Zellner and Benji Fisher.
+if exists("loaded_matchit") && !exists("b:match_words")
+  let b:match_ignorecase = 1
+  let b:match_words = '<!--:-->,' ..
+	\	      '<:>,' ..
+	\	      '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' ..
+	\	      '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' ..
+	\	      '<\@<=\([^/!][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
+  let b:html_set_match_words = 1
+  let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:html_set_match_words"
 endif
 
 " Change the :browse e filter to primarily show HTML-related files.
-if has("gui_win32")
-    let  b:browsefilter="HTML Files (*.html,*.htm)\t*.htm;*.html\n" .
-		\	"JavaScript Files (*.js)\t*.js\n" .
-		\	"Cascading StyleSheets (*.css)\t*.css\n" .
-		\	"All Files (*.*)\t*.*\n"
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+  let  b:browsefilter = "HTML Files (*.html *.htm)\t*.htm;*.html\n" ..
+	\		"JavaScript Files (*.js)\t*.js\n" ..
+	\		"Cascading StyleSheets (*.css)\t*.css\n" ..
+	\		"All Files (*.*)\t*.*\n"
+  let b:html_set_browsefilter = 1
+  let b:undo_ftplugin ..= " | unlet! b:browsefilter b:html_set_browsefilter"
 endif
 
-" Undo the stuff we changed.
-let b:undo_ftplugin = "setlocal commentstring< matchpairs< omnifunc< comments< formatoptions<" .
-    \	" | unlet! b:match_ignorecase b:match_skip b:match_words b:browsefilter"
-
-" Restore the saved compatibility options.
 let &cpo = s:save_cpo
 unlet s:save_cpo
