patch 9.1.0836: The vimtutor can be improved

Problem:  the vimtutor can be improved
Solution: port and include the interactive vimtutor plugin from Neovim
          (by Felipe Morales) (Yegappan Lakshmanan)

closes: #6414

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
diff --git a/runtime/doc/Make_all.mak b/runtime/doc/Make_all.mak
index f36ad7e..ccc429b 100644
--- a/runtime/doc/Make_all.mak
+++ b/runtime/doc/Make_all.mak
@@ -75,6 +75,7 @@
 	pi_paren.txt \
 	pi_spec.txt \
 	pi_tar.txt \
+	pi_tutor.txt \
 	pi_vimball.txt \
 	pi_zip.txt \
 	popup.txt \
@@ -228,6 +229,7 @@
 	pi_paren.html \
 	pi_spec.html \
 	pi_tar.html \
+	pi_tutor.html \
 	pi_vimball.html \
 	pi_zip.html \
 	popup.html \
diff --git a/runtime/doc/pi_tutor.txt b/runtime/doc/pi_tutor.txt
new file mode 100644
index 0000000..7aaafd1
--- /dev/null
+++ b/runtime/doc/pi_tutor.txt
@@ -0,0 +1,51 @@
+*pi_tutor.txt*    For Vim version 9.1.  Last change: 2024 Nov 02
+
+INTERACTIVE TUTORIALS FOR VIM			 *vim-tutor-mode*
+
+vim-tutor-mode provides a system to follow and create interactive tutorials
+for vim and third party plugins. It replaces the venerable `vimtutor` system.
+
+==============================================================================
+1. Usage                                                      *vim-tutor-usage*
+
+vim-tutor-mode tutorials are hypertext documents, they have rich text and
+contain links. To stand out from the rest of the text, links are underlined.
+You can follow them by placing the cursor over them and pressing <Enter>, or
+by double-clicking them.
+
+1.1 Commands
+------------
+								      *:Tutor*
+:Tutor {tutorial}	Opens a tutorial. Command-line completion for
+			{tutorial} is provided, the candidates are a list of
+			'.tutor' files found in the 'tutor/'  folder in
+			the 'runtimepath'. Tutorials prefixed with 'vim-' will
+			always be shown first.
+
+			If no {tutorial} is provided, the command starts the
+			'vim-01-beginner' tutorial, which is equivalent to
+			Vim's `vimtutor`.
+
+=============================================================================
+2. Creating tutorials                                        *vim-tutor-create*
+
+Writing vim-tutor-mode tutorials is easy. For an overview of the format used,
+please consult the 'tutor.tutor' file: >
+
+    :Tutor tutor
+<
+New tutorials must be placed in the 'tutor/' folder in the 'runtimepath'
+to be detected by the :Tutor command.
+
+It is recommended to use a less formal style when writing tutorials than in
+regular documentation (unless the content requires it).
+
+============================================================================
+3. Contributing
+
+Development of the plugin is done over at github [1].  Feel free to report
+issues and make suggestions.
+
+[1]: https://github.com/fmoralesc/vim-tutor-mode
+
+" vim: set ft=help :
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 79d9daf..37a8e26 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2177,6 +2177,7 @@
 :Termdebug	terminal.txt	/*:Termdebug*
 :TermdebugCommand	terminal.txt	/*:TermdebugCommand*
 :Texplore	pi_netrw.txt	/*:Texplore*
+:Tutor	pi_tutor.txt	/*:Tutor*
 :Until	terminal.txt	/*:Until*
 :Up	terminal.txt	/*:Up*
 :UseVimball	pi_vimball.txt	/*:UseVimball*
@@ -9438,6 +9439,7 @@
 pi_paren.txt	pi_paren.txt	/*pi_paren.txt*
 pi_spec.txt	pi_spec.txt	/*pi_spec.txt*
 pi_tar.txt	pi_tar.txt	/*pi_tar.txt*
+pi_tutor.txt	pi_tutor.txt	/*pi_tutor.txt*
 pi_vimball.txt	pi_vimball.txt	/*pi_vimball.txt*
 pi_zip.txt	pi_zip.txt	/*pi_zip.txt*
 pkzip	options.txt	/*pkzip*
@@ -11244,6 +11246,9 @@
 vim-script-library	eval.txt	/*vim-script-library*
 vim-security	intro.txt	/*vim-security*
 vim-shebang	various.txt	/*vim-shebang*
+vim-tutor-create	pi_tutor.txt	/*vim-tutor-create*
+vim-tutor-mode	pi_tutor.txt	/*vim-tutor-mode*
+vim-tutor-usage	pi_tutor.txt	/*vim-tutor-usage*
 vim-use	intro.txt	/*vim-use*
 vim-variable	eval.txt	/*vim-variable*
 vim.b	if_lua.txt	/*vim.b*
diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt
index fdf1b53..9902691 100644
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt*	For Vim version 9.1.  Last change: 2024 May 11
+*usr_01.txt*	For Vim version 9.1.  Last change: 2024 Nov 03
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -107,6 +107,8 @@
 ==============================================================================
 *01.3*	Using the Vim tutor				*tutor* *vimtutor*
 
+For the interactive tutor, see |vim-tutor-mode|
+
 Instead of reading the text (boring!) you can use the vimtutor to learn your
 first Vim commands.  This is a 30-minute tutorial that teaches the most basic
 Vim functionality hands-on.
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index 5f92503..d016ccf 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.1.  Last change: 2024 Nov 02
+*version9.txt*  For Vim version 9.1.  Last change: 2024 Nov 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -41603,6 +41603,8 @@
 - the putty terminal is detected using an |TermResponse| autocommand in
   |defaults.vim| and Vim switches to a dark background
 - the |help-TOC| package is included to ease navigating the documentation.
+- an interactive tutor plugin has been included |vim-tutor-mode|, can be
+  started via |:Tutor|
 
 							*added-9.2*
 Added ~