diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt
index 9902691..604e26b 100644
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -120,8 +120,11 @@
 On MS-Windows you can find it in the Program/Vim menu.  Or execute
 vimtutor.bat in the $VIMRUNTIME directory.
 
-This will make a copy of the tutor file, so that you can edit it without
-the risk of damaging the original.
+This will make a copy of chapter 1 tutor file, so that you can edit it without
+the risk of damaging the original.  To continue with chapter 2, you can use
+the following command: >
+	vimtutor -c 2
+<
    There are a few translated versions of the tutor.  To find out if yours is
 available, use the two-letter language code.  For French: >
 
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index d016ccf..999a09c 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -41605,6 +41605,7 @@
 - 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|
+- improve the |vimtutor| and add a second chapter for more advanced tips
 
 							*added-9.2*
 Added ~
diff --git a/runtime/doc/vimtutor.1 b/runtime/doc/vimtutor.1
index a71bc02..3d3f32b 100644
--- a/runtime/doc/vimtutor.1
+++ b/runtime/doc/vimtutor.1
@@ -1,16 +1,18 @@
-.TH VIMTUTOR 1 "2024 August 12"
+.TH VIMTUTOR 1 "2024 November 03"
 .SH NAME
 vimtutor \- the Vim tutor
 .SH SYNOPSIS
 .br
-.B vimtutor [\-g] [language]
+.B vimtutor [\-l | \-\-language ISO639] [\-c | \-\-chapter NUMBER] [\-g | \-\-gui] [ISO639]
+.br
+.B vimtutor [\-h | \-\-help]
+.br
+.B vimtutor [\-\-list]
 .SH DESCRIPTION
 .B Vimtutor
 starts the
 .B Vim
 tutor.
-It copies the tutor file first, so that it can be modified without changing
-the original file.
 .PP
 The
 .B Vimtutor
@@ -28,34 +30,91 @@
 If a tutor in this language is available, it will be used.
 Otherwise the English version will be used.
 .PP
+.B Vimtutor
+only opens temporary copies of the original tutor files, there is no danger of overwriting the lessons.
+.PP
 .B Vim
-is always started in Vi compatible mode.
+is always started in
+.B Vi
+compatible mode.
+.SH OPTIONS
+.TP
+.BR \-l ", " \-\-language =\fIISO639\fR
+Set the two or three letter language code. E.g. 'it', 'es', 'bar'. Defaults to language of locale if available, else to English.
+.TP
+.BR \-c ", " \-\-chapter =\fINUMBER\fR
+Set the one or two digit chapter number. Defaults to chapter one.
+.TP
+.BR \-g ", " \-\-gui
+Start
+.B vimtutor
+in the GUI version of vim if available, otherwise fallback to console vim.
+.TP
+.BR \-h ", " \-\-help
+Display usage information.
+.TP
+.BR \-\-list
+Display chapters and languages.
+.SH EXAMPLES
+To start
+.B vimtutor
+in German on chapter one:
+.PP
+.nf
+.RS
+vimtutor de
+.RE
+.fi
+.PP
+In English on chapter two:
+.PP
+.nf
+.RS
+vimtutor -c2
+.RE
+.fi
+.PP
+Longform command for Bavarian in the GUI on chapter one:
+.PP
+.nf
+.RS
+vimtutor --language bar --chapter 1 --gui
+.RE
+.fi
 .SH FILES
 .TP 15
 /usr/local/share/vim/vim??/tutor/tutor[.language]
 The
 .B Vimtutor
-text file(s).
-.br
-.I vim??
-is short version number, like vim91 for
-.B Vim 9.1
+chapter one text file(s).
 .TP 15
-/usr/local/share/vim/vim??/tutor/tutor.vim
-The Vim script used to copy the
-.B Vimtutor
-text file.
-.SH AUTHOR
+/usr/local/share/vim/vim??/tutor/tutor02[.language]
 The
 .B Vimtutor
-was originally written for Vi by Michael C. Pierce and Robert K. Ware,
-Colorado School of Mines using ideas supplied by Charles Smith,
-Colorado State University.
-E-mail: bware@mines.colorado.edu (now invalid).
-.br
-It was modified for
+chapter two text file(s).
+.TP 15
+/usr/local/share/vim/vim??/tutor/tutor.vim
+The
+.B Vim
+script used to copy the
+.B Vimtutor
+chapter one text file.
+.TP 15
+/usr/local/share/vim/vim??/tutor/tutor02.vim
+The
+.B Vim
+script used to copy the
+.B Vimtutor
+chapter two text file.
+.SH AUTHOR
+.B The Vi Tutorial
+was originally written for Vi by Michael C. Pierce and Robert K. Ware, Colorado School of Mines using ideas supplied by Charles Smith, Colorado State University.
+.B E-mail: bware@mines.colorado.edu.
+.PP
+Modified for
 .B Vim
 by Bram Moolenaar.
-For the names of the translators see the tutor files.
+.PP
+Translation contributors are listed in the tutor files.
 .SH SEE ALSO
 vim(1)
diff --git a/runtime/doc/vimtutor.man b/runtime/doc/vimtutor.man
index f1e113e..459542e 100644
--- a/runtime/doc/vimtutor.man
+++ b/runtime/doc/vimtutor.man
@@ -1,16 +1,16 @@
 VIMTUTOR(1)                 General Commands Manual                VIMTUTOR(1)
 
-
-
 NAME
        vimtutor - the Vim tutor
 
 SYNOPSIS
-       vimtutor [-g] [language]
+       vimtutor  [-l | --language ISO639] [-c | --chapter NUMBER] [-g | --gui]
+       [ISO639]
+       vimtutor [-h | --help]
+       vimtutor [--list]
 
 DESCRIPTION
-       Vimtutor starts the Vim tutor.  It copies the tutor file first, so that
-       it can be modified without changing the original file.
+       Vimtutor starts the Vim tutor.
 
        The Vimtutor is useful for people that want to learn  their  first  Vim
        commands.
@@ -21,31 +21,73 @@
 
        The  optional [language] argument is the two-letter name of a language,
        like "it" or "es".  If the [language] argument is missing, the language
-       of  the  current  locale  will be used.  If a tutor in this language is
-       available, it will be used.  Otherwise  the  English  version  will  be
+       of the current locale will be used.  If a tutor  in  this  language  is
+       available,  it  will  be  used.   Otherwise the English version will be
        used.
 
+       Vimtutor only opens temporary copies of the original tutor files, there
+       is no danger of overwriting the lessons.
+
        Vim is always started in Vi compatible mode.
 
+OPTIONS
+       -l, --language=ISO639
+              Set the two or three letter  language  code.  E.g.  'it',  'es',
+              'bar'. Defaults to language of locale if available, else to Eng‐
+              lish.
+
+       -c, --chapter=NUMBER
+              Set  the  one  or  two digit chapter number. Defaults to chapter
+              one.
+
+       -g, --gui
+              Start vimtutor in the GUI version of vim if available, otherwise
+              fallback to console vim.
+
+       -h, --help
+              Display usage information.
+
+       --list Display chapters and languages.
+
+EXAMPLES
+       To start vimtutor in German on chapter one:
+
+              vimtutor de
+
+       In English on chapter two:
+
+              vimtutor -c2
+
+       Longform command for Bavarian in the GUI on chapter one:
+
+              vimtutor --language bar --chapter 1 --gui
+
 FILES
        /usr/local/share/vim/vim??/tutor/tutor[.language]
-                      The Vimtutor text file(s).
-                      vim??  is short version number, like vim91 for Vim 9.1
+                      The Vimtutor chapter one text file(s).
+
+       /usr/local/share/vim/vim??/tutor/tutor02[.language]
+                      The Vimtutor chapter two text file(s).
 
        /usr/local/share/vim/vim??/tutor/tutor.vim
-                      The Vim script used to copy the Vimtutor text file.
+                      The Vim script used to copy  the  Vimtutor  chapter  one
+                      text file.
+
+       /usr/local/share/vim/vim??/tutor/tutor02.vim
+                      The  Vim  script  used  to copy the Vimtutor chapter two
+                      text file.
 
 AUTHOR
-       The  Vimtutor  was  originally  written for Vi by Michael C. Pierce and
-       Robert K. Ware, Colorado  School  of  Mines  using  ideas  supplied  by
-       Charles  Smith,  Colorado  State  University.  E-mail: bware@mines.col‐
-       orado.edu (now invalid).
-       It was modified for Vim by Bram Moolenaar.  For the names of the trans‐
-       lators see the tutor files.
+       The Vi Tutorial was originally written for Vi by Michael C. Pierce  and
+       Robert  K.  Ware,  Colorado  School  of  Mines  using ideas supplied by
+       Charles Smith, Colorado  State  University.   E-mail:  bware@mines.col‐
+       orado.edu.
+
+       Modified for Vim by Bram Moolenaar.
+
+       Translation contributors are listed in the tutor files.
 
 SEE ALSO
        vim(1)
 
-
-
-                                2024 August 12                     VIMTUTOR(1)
+                               2024 November 03                    VIMTUTOR(1)
diff --git a/runtime/tutor/tutor b/runtime/tutor/tutor
index 3df15f1..3ddcda1 100644
--- a/runtime/tutor/tutor
+++ b/runtime/tutor/tutor
@@ -945,10 +945,13 @@
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-  This concludes the Vim Tutor.  It was intended to give a brief overview of
-  the Vim editor, just enough to allow you to use the editor fairly easily.
-  It is far from complete as Vim has many many more commands.  Read the user
-  manual next: ":help user-manual".
+  This concludes Chapter 1 of the Vim Tutor.  Consider continuing with Chapter 2.
+
+  It was intended to give a brief overview of the Vim editor, just enough to
+  allow you to use the editor fairly easily. It is far from complete as Vim
+  has many many more commands.
+
+  Read the user manual next: ":help user-manual".
 
   For further reading and studying, this book is recommended:
 	Vim - Vi Improved - by Steve Oualline
diff --git a/runtime/tutor/tutor.vim b/runtime/tutor/tutor.vim
index 809fd1d..551231a 100644
--- a/runtime/tutor/tutor.vim
+++ b/runtime/tutor/tutor.vim
@@ -180,8 +180,13 @@
   let s:ext .= '.utf-8'
 endif
 
-" 2. Build the name of the file:
-let s:tutorfile = "/tutor/tutor"
+" 2. Build the name of the file and chapter
+let s:chapter = exists("$CHAPTER") ? $CHAPTER : ''
+if s:chapter == "1"
+  let s:chapter = ''
+endif
+
+let s:tutorfile = "/tutor/tutor" . s:chapter
 let s:tutorxx = $VIMRUNTIME . s:tutorfile . s:ext
 
 " 3. Finding the file:
diff --git a/runtime/tutor/tutor2 b/runtime/tutor/tutor2
new file mode 100644
index 0000000..eaeef40
--- /dev/null
+++ b/runtime/tutor/tutor2
@@ -0,0 +1,199 @@
+===============================================================================
+=    W e l c o m e   t o   t h e   V I M   T u t o r    -    Version 1.7      =
+===============================================================================
+=									      =
+=			    C h a p t e r  -  T w o			      =
+=									      =
+===============================================================================
+
+     Hic Sunt Dracones: if this is your first exposure to vim and you
+     intended to avail yourself of the introductory chapter, kindly type
+     :q<enter> and try again.
+
+     The approximate time required to complete this chapter is 8-10 minutes,
+     depending upon how much time is spent with experimentation.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 2.1.1: THE NAMED REGISTERS
+
+
+         ** Store two yanked words concurrently and then paste them **
+
+  1. Move the cursor to the line below marked --->
+
+  2. Navigate to any point on the word 'Edward' and type   "ayiw
+
+MNEMONIC: into register(") named (a) (y)ank (i)nner (w)ord
+
+  3. Navigate forward to the word 'cookie' (fk or 2fc or $2b or /co<enter>)
+     and type   "byiw
+
+  4. Navigate to any point on the word 'Vince' and type   ciw<C-r>a<ESC>
+
+MNEMONIC: (c)hange (i)nner (w)ord with <contents of (r)egister> named (a)
+
+  5. Navigate to any point on the word 'cake' and type   ciw<C-r>b<ESC>
+
+--->  a) Edward will henceforth be in charge of the cookie rations
+      b) In this capacity, Vince will have sole cake discretionary powers
+
+NOTE: Delete also works into registers, i.e. "sdiw will delete the word under
+      the cursor into register s.
+
+REFERENCE: 	Registers 	:h registers
+		Named Registers :h quotea
+		Motion 		:h motion.txt<enter> /inner<enter>
+		CTRL-R		:h insert<enter> /CTRL-R<enter>
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+		     Lesson 2.1.2: THE EXPRESSION REGISTER
+
+
+	     ** Insert the results of calculations on the fly **
+
+  1. Move the cursor to the line below marked --->
+
+  2. Navigate to any point on the supplied number
+
+  3. Type ciw<C-r>=60*60*24<enter>
+
+  4. On the next line, enter insert mode and add today's date with 
+     <C-r>=system('date')<enter>
+
+NOTE: All calls to system are OS dependent, e.g. on Windows use 
+      system('date /t')   or  :r!date /t
+
+---> I have forgotten the exact number of seconds in a day, is it 84600?
+     Today's date is: 
+
+NOTE: the same can be achieved with :pu=system('date')
+      or, with fewer keystrokes :r!date
+
+REFERENCE: 	Expression Register 	:h quote=
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+		      Lesson 2.1.3: THE NUMBERED REGISTERS
+
+
+	** Press  yy and dd to witness their effect on the registers **
+
+  1. Move the cursor to the line below marked --->
+
+  2. yank the zeroth line, then inspect registers with :reg<enter>
+
+  3. delete line 0. with "cdd, then inspect registers
+     (Where do you expect line 0 to be?)
+
+  4. continue deleting each successive line, inspecting :reg as you go
+
+NOTE: You should notice that old full-line deletions move down the list
+      as new full-line deletions are added
+
+  5. Now (p)aste the following registers in order; c, 7, 4, 8, 2. i.e. "7p
+
+---> 0. This
+     9. wobble
+     8. secret
+     7. is
+     6. on
+     5. axis
+     4. a
+     3. war
+     2. message
+     1. tribute
+
+NOTE: Whole line deletions (dd) are much longer lived in the numbered registers
+      than whole line yanks, or deletions involving smaller movements
+
+REFERENCE: 	Numbered Registers 	:h quote0
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+		      Lesson 2.1.4: THE BEAUTY OF MARKS
+
+
+	           ** Code monkey arithmetic avoidance **
+
+NOTE: a common conundrum when coding is moving around large chunks of code.
+      The following technique helps avoid number line calculations associated
+      with operatins like   "a147d   or   :945,1091d a   or even worse using
+      i<C-r>=1091-945<enter>   first
+
+  1. Move the cursor to the line below marked --->
+
+  2. Go to the first line of the function and mark it with   ma
+
+NOTE: exact position on line is NOT important!
+
+  3. Navigate to the end of the line and then the end of the code block 
+     with   $%
+
+  4. Delete the block into register a with   "ad'a
+
+MNEMONIC: into register(") named (a) put the (d)eletion from the cursor to the
+          LINE containing mark(') (a)
+
+  5. Paste the block between BBB and CCC   "ap
+
+NOTE: practice this operation multiple times to become fluent   ma$%"ad'a
+
+---> AAA
+     function itGotRealBigRealFast() {
+       if ( somethingIsTrue ) {
+         doIt()
+       }
+       // the taxonomy of our function has changed and it
+       // no longer makes alphabetical sense in it's current position
+
+       // imagine hundreds of lines of code
+
+       // naively you could navigate to the start and end and record or
+       // remember each line number
+     }
+     BBB
+     CCC
+
+NOTE: marks and registers do not share a namespace, therefore register a is
+      completely independent of mark a. This is not true of registers and
+      macros.
+
+REFERENCE: 	Marks 		:h marks
+		Mark Motions 	:h mark-motions  (difference between ' and `)
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+			       Lesson 2.1 SUMMARY
+
+
+  1. To store (yank, delete) text into, and retrieve (paste) from, a total of
+     26 registers (a-z) 
+  2. Yank a whole word from anywhere within a word:   yiw
+  3. Change a whole word from anywhere within a word:   ciw
+  4. Insert text directly from registers in insert mode:   (C-r)a
+
+  5. Insert the results of simple arithmetic operations: (C-r)=60*60<enter>
+     in insert mode
+  6. Insert the results of system calls: (C-r)=system('ls -1')
+     in insert mode
+
+  7. Inspect registers with   :reg
+  8. Learn the final destination of whole line deletions: dd in the numbered
+     registers, i.e. descending from register 1 - 9.  Appreciate that whole
+     line deletions are preserved in the numbered registers longer than any
+     other operation
+  9. Learn the final destination of all yanks in the numbered registers and
+     how ephemeral they are
+
+ 10. Place marks from command mode   m[a-zA-Z0-9]
+ 11. Move line-wise to a mark with   '
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  This concludes chapter two of the Vim Tutor. It is a work in progress.
+
+  This chapter was written by Paul D. Parker.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/runtime/tutor/tutor2.utf-8 b/runtime/tutor/tutor2.utf-8
new file mode 100644
index 0000000..eaeef40
--- /dev/null
+++ b/runtime/tutor/tutor2.utf-8
@@ -0,0 +1,199 @@
+===============================================================================
+=    W e l c o m e   t o   t h e   V I M   T u t o r    -    Version 1.7      =
+===============================================================================
+=									      =
+=			    C h a p t e r  -  T w o			      =
+=									      =
+===============================================================================
+
+     Hic Sunt Dracones: if this is your first exposure to vim and you
+     intended to avail yourself of the introductory chapter, kindly type
+     :q<enter> and try again.
+
+     The approximate time required to complete this chapter is 8-10 minutes,
+     depending upon how much time is spent with experimentation.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 2.1.1: THE NAMED REGISTERS
+
+
+         ** Store two yanked words concurrently and then paste them **
+
+  1. Move the cursor to the line below marked --->
+
+  2. Navigate to any point on the word 'Edward' and type   "ayiw
+
+MNEMONIC: into register(") named (a) (y)ank (i)nner (w)ord
+
+  3. Navigate forward to the word 'cookie' (fk or 2fc or $2b or /co<enter>)
+     and type   "byiw
+
+  4. Navigate to any point on the word 'Vince' and type   ciw<C-r>a<ESC>
+
+MNEMONIC: (c)hange (i)nner (w)ord with <contents of (r)egister> named (a)
+
+  5. Navigate to any point on the word 'cake' and type   ciw<C-r>b<ESC>
+
+--->  a) Edward will henceforth be in charge of the cookie rations
+      b) In this capacity, Vince will have sole cake discretionary powers
+
+NOTE: Delete also works into registers, i.e. "sdiw will delete the word under
+      the cursor into register s.
+
+REFERENCE: 	Registers 	:h registers
+		Named Registers :h quotea
+		Motion 		:h motion.txt<enter> /inner<enter>
+		CTRL-R		:h insert<enter> /CTRL-R<enter>
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+		     Lesson 2.1.2: THE EXPRESSION REGISTER
+
+
+	     ** Insert the results of calculations on the fly **
+
+  1. Move the cursor to the line below marked --->
+
+  2. Navigate to any point on the supplied number
+
+  3. Type ciw<C-r>=60*60*24<enter>
+
+  4. On the next line, enter insert mode and add today's date with 
+     <C-r>=system('date')<enter>
+
+NOTE: All calls to system are OS dependent, e.g. on Windows use 
+      system('date /t')   or  :r!date /t
+
+---> I have forgotten the exact number of seconds in a day, is it 84600?
+     Today's date is: 
+
+NOTE: the same can be achieved with :pu=system('date')
+      or, with fewer keystrokes :r!date
+
+REFERENCE: 	Expression Register 	:h quote=
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+		      Lesson 2.1.3: THE NUMBERED REGISTERS
+
+
+	** Press  yy and dd to witness their effect on the registers **
+
+  1. Move the cursor to the line below marked --->
+
+  2. yank the zeroth line, then inspect registers with :reg<enter>
+
+  3. delete line 0. with "cdd, then inspect registers
+     (Where do you expect line 0 to be?)
+
+  4. continue deleting each successive line, inspecting :reg as you go
+
+NOTE: You should notice that old full-line deletions move down the list
+      as new full-line deletions are added
+
+  5. Now (p)aste the following registers in order; c, 7, 4, 8, 2. i.e. "7p
+
+---> 0. This
+     9. wobble
+     8. secret
+     7. is
+     6. on
+     5. axis
+     4. a
+     3. war
+     2. message
+     1. tribute
+
+NOTE: Whole line deletions (dd) are much longer lived in the numbered registers
+      than whole line yanks, or deletions involving smaller movements
+
+REFERENCE: 	Numbered Registers 	:h quote0
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+		      Lesson 2.1.4: THE BEAUTY OF MARKS
+
+
+	           ** Code monkey arithmetic avoidance **
+
+NOTE: a common conundrum when coding is moving around large chunks of code.
+      The following technique helps avoid number line calculations associated
+      with operatins like   "a147d   or   :945,1091d a   or even worse using
+      i<C-r>=1091-945<enter>   first
+
+  1. Move the cursor to the line below marked --->
+
+  2. Go to the first line of the function and mark it with   ma
+
+NOTE: exact position on line is NOT important!
+
+  3. Navigate to the end of the line and then the end of the code block 
+     with   $%
+
+  4. Delete the block into register a with   "ad'a
+
+MNEMONIC: into register(") named (a) put the (d)eletion from the cursor to the
+          LINE containing mark(') (a)
+
+  5. Paste the block between BBB and CCC   "ap
+
+NOTE: practice this operation multiple times to become fluent   ma$%"ad'a
+
+---> AAA
+     function itGotRealBigRealFast() {
+       if ( somethingIsTrue ) {
+         doIt()
+       }
+       // the taxonomy of our function has changed and it
+       // no longer makes alphabetical sense in it's current position
+
+       // imagine hundreds of lines of code
+
+       // naively you could navigate to the start and end and record or
+       // remember each line number
+     }
+     BBB
+     CCC
+
+NOTE: marks and registers do not share a namespace, therefore register a is
+      completely independent of mark a. This is not true of registers and
+      macros.
+
+REFERENCE: 	Marks 		:h marks
+		Mark Motions 	:h mark-motions  (difference between ' and `)
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+			       Lesson 2.1 SUMMARY
+
+
+  1. To store (yank, delete) text into, and retrieve (paste) from, a total of
+     26 registers (a-z) 
+  2. Yank a whole word from anywhere within a word:   yiw
+  3. Change a whole word from anywhere within a word:   ciw
+  4. Insert text directly from registers in insert mode:   (C-r)a
+
+  5. Insert the results of simple arithmetic operations: (C-r)=60*60<enter>
+     in insert mode
+  6. Insert the results of system calls: (C-r)=system('ls -1')
+     in insert mode
+
+  7. Inspect registers with   :reg
+  8. Learn the final destination of whole line deletions: dd in the numbered
+     registers, i.e. descending from register 1 - 9.  Appreciate that whole
+     line deletions are preserved in the numbered registers longer than any
+     other operation
+  9. Learn the final destination of all yanks in the numbered registers and
+     how ephemeral they are
+
+ 10. Place marks from command mode   m[a-zA-Z0-9]
+ 11. Move line-wise to a mark with   '
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  This concludes chapter two of the Vim Tutor. It is a work in progress.
+
+  This chapter was written by Paul D. Parker.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
