aboutsummaryrefslogtreecommitdiff
path: root/runtime/tutor
diff options
context:
space:
mode:
authorBlaž Hrastnik2022-09-11 02:09:12 +0000
committerBlaž Hrastnik2022-09-11 02:11:07 +0000
commitc2e41082e4b2e0e1dba6a980a7f09ccaad88cbd0 (patch)
treeecf53d11e0f83f8a5d50585a6877f4d3fc4ebef5 /runtime/tutor
parenta15420ed1c3b46df0dade6ec6d05a0e4b26e06e0 (diff)
Remove the .txt suffix from tutor
The tutor file is loaded as .txt which can potentially spawn a language server. Then the path is unset, but the LS remains active. This can cause panics since updates are now submitted for a doc with no path. As a quick workaround we remove the extension which should avoid detection. Fixes #3730
Diffstat (limited to 'runtime/tutor')
-rw-r--r--runtime/tutor1059
1 files changed, 1059 insertions, 0 deletions
diff --git a/runtime/tutor b/runtime/tutor
new file mode 100644
index 00000000..4a6c4425
--- /dev/null
+++ b/runtime/tutor
@@ -0,0 +1,1059 @@
+ _ _ __ __
+ | | | | _ \ \ / /
+ | |_| | ___ | | (_) \ \/ /
+ | _ | / _ \ | | _ ) (
+ | | | | | __/ | | | | / /\ \
+ |_| |_| \___| |_| |_| /_/ \_\
+
+ A post-modern modal text editor.
+_________________________________________________________________
+
+ Welcome to the Helix editor! Helix is different from editors
+ you might be used to in that it is modal, meaning that it has
+ different modes for editing text. The primary modes you will
+ use are Normal mode and Insert mode. While in Normal mode, the
+ keys you type won't actually type text. Instead, they will
+ perform various actions with the text. This allows for more
+ efficient editing. This tutor will teach you how you can make
+ use of Helix's modal editing features. To begin, ensure your
+ caps-lock key is not pressed and hold the j key until you reach
+ the first lesson.
+
+
+=================================================================
+= 1.1 BASIC CURSOR MOVEMENT =
+=================================================================
+
+ ↑
+ k * h is on the left
+ ← h l → * l is on the right
+ j * j looks like a down arrow
+ ↓
+
+ The cursor can be moved using the h, j, k, l keys, as shown
+ above. The cursor/arrow keys will also work, but it is faster
+ to use the hjkl keys as they are closer to the other keys you
+ will be using. Try moving around to get a feel for hjkl.
+ Once you're ready, hold j to continue to the next lesson.
+
+
+
+
+
+
+
+=================================================================
+= 1.2 EXITING HELIX =
+=================================================================
+
+ 1. Type : to enter Command mode. Your cursor will
+ move to the bottom of the screen.
+ 2. Type q or quit and type <ENTER> to exit Helix.
+
+ Note: The quit command will fail if there are unsaved changes.
+ To force quit and DISCARD these changes, type q! or quit!.
+ You will learn how to save files later.
+
+ To exit Command mode without entering a command, type <ESC>.
+
+ Now, move on to the next lesson.
+
+
+
+
+
+
+
+=================================================================
+= 1.3 DELETION =
+=================================================================
+
+ Type the d key to delete the character under the cursor.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move the cursor to each extra character, and type d to
+ delete it.
+
+ --> Thhiss senttencee haass exxtra charracterss.
+ This sentence has extra characters.
+
+ Once the sentence is correct, move on to the next lesson.
+
+
+
+
+
+
+
+
+=================================================================
+= 1.4 INSERT MODE =
+=================================================================
+
+ Type the i key to enter Insert mode.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to a place in the line which is missing text and type
+ i to enter Insert mode. Keys you type will now type text.
+ 3. Enter the missing text.
+ 4. type <ESC> to exit Insert mode and return to Normal mode.
+ 5. Repeat until the line matches the line below it.
+
+ --> Th stce misg so.
+ This sentence is missing some text.
+
+ Note: If you want to move the cursor while in Insert mode,
+ you may use the arrow keys instead of exiting and
+ reentering Insert mode.
+ Note: The status bar will display your current mode.
+ Notice that when you type i, 'NOR' changes to 'INS'.
+
+=================================================================
+= 1.5 SAVING A FILE =
+=================================================================
+
+ Type :w/:write to save a file.
+
+ 1. Exit Helix using :q! as explained before, or open a new
+ terminal.
+ 2. Open a file in Helix by running: hx FILENAME
+ 3. Make some edits to the file.
+ 4. Type : to enter Command mode.
+ 5. Type w or write, and type <ENTER> to save the file.
+
+ You can also type wq or write-quit to save and exit.
+
+ Note: You can optionally enter a filepath after the w/write
+ command in order to save to that path.
+ Note: If there are any unsaved changes to a file, a plus [+]
+ will appear next to the file name in the status bar.
+
+
+
+=================================================================
+= CHAPTER 1 RECAP =
+=================================================================
+
+ * Use the h,j,k,l keys to move the cursor.
+
+ * Type : to enter Command mode.
+ * The q/quit and q!/quit! commands will exit Helix. The
+ former fails when there are unsaved changes. The latter
+ discards them.
+ * The w/write command will save the file.
+ * The wq/write-quit command will do both.
+
+ * Type d to delete the character at the cursor.
+
+ * Type i to enter Insert mode and type text. Type <ESC> to
+ return to Normal mode.
+
+
+
+
+
+=================================================================
+= 2.1 MORE INSERT COMMANDS =
+=================================================================
+
+ As you saw, you can type i to enter Insert mode at the current
+ position of the cursor. There are a few other ways you can
+ enter Insert mode at different locations.
+
+ Common examples of insertion commands include:
+ i - Insert before the selection.
+ a - Insert after the selection. (a means 'append')
+ I - Insert at the start of the line.
+ A - Insert at the end of the line.
+
+ 1. Move to anywhere in the line below marked -->.
+ 2. Type A (<SHIFT> + a), your cursor will move to the end of
+ the line and you will be able to type.
+ 3. Type the text necessary to match the line below.
+
+ --> This sentence is miss
+ This sentence is missing some text.
+
+=================================================================
+= 2.2 OPENING LINES =
+=================================================================
+
+ Type o to add a newline and insert below the cursor.
+ Type O to add a newline and insert above the cursor.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Type o to open a line below and type your answer.
+
+ --> What is the best editor?
+
+
+
+
+
+
+
+
+
+
+
+=================================================================
+= CHAPTER 2 RECAP =
+=================================================================
+
+ * Type a to append to the selection.
+
+ * Type I to enter Insert mode at the first non-whitespace
+ character at the start of a line.
+
+ * Type A to enter Insert mode at the end of a line.
+
+ * Use o and O to open lines below/above the cursor respectively.
+
+
+
+
+
+
+
+
+
+
+=================================================================
+= 3.1 MOTIONS AND SELECTIONS =
+=================================================================
+
+ Type w to select forward until the next word.
+
+ The d key doesn't actually delete the character at the cursor,
+ it deletes all selected text. Your cursor is like a
+ single-character selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to the beginning of a word that needs to be deleted.
+ 3. Type w to select until the beginning of the next word.
+ 4. Type d to delete the selection.
+ 5. Repeat for all extra words in the line.
+
+ --> This sentence pencil has vacuum extra words in the it.
+ This sentence has extra words in it.
+
+
+
+
+=================================================================
+= 3.2 MORE ON MOTIONS =
+=================================================================
+
+ As you saw, typing w moves the cursor forward until the start
+ of the next word, selecting the text traversed. This is useful
+ for moving around text and for selecting text to operate on.
+
+ Some common motions include:
+ w - Move forward to before the beginning of the next word.
+ e - Move forward to the end of the current word.
+ b - Move backward to the beginning of the current word.
+
+ The w,e,b motions also have counterparts - W,E,B - which
+ traverse WORDS instead of words. WORDS are only separated by
+ whitespace, whereas words can be separated by other characters
+ in addition to whitespace.
+
+ All of these motions select the text they traverse.
+
+
+
+=================================================================
+= 3.3 THE CHANGE COMMAND =
+=================================================================
+
+ Type c to change the current selection.
+
+ The change command deletes the current selection and enters
+ Insert mode, so it is a very common shorthand for di.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to the start of an incorrect word and type w to
+ select it.
+ 3. Type c to delete the word and enter Insert mode.
+ 4. Type the correct word.
+ 5. Repeat until the line matches the line below it.
+
+ --> This paper has heavy words behind it.
+ This sentence has incorrect words in it.
+
+
+
+
+=================================================================
+= 3.4 COUNTS WITH MOTIONS =
+=================================================================
+
+ Type a number before a motion to repeat it that many times.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Type 2w to move 2 words forward.
+ 3. Type 3e to move to the end of the third word forward.
+ 4. Type 2b to move 2 words backwards
+ 5. Try the above with different numbers.
+
+ --> This is just a line with words you can move around in.
+
+
+
+
+
+
+
+
+
+=================================================================
+= 3.5 SELECT/EXTEND MODE =
+=================================================================
+
+ Type v to enter Select mode.
+ Type v again or <ESC> to return to Normal mode
+ In Select mode every movement will extend the selection, as
+ opposed to replacing it.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to the F of FOO and type v2w to select the two words.
+ 3. Type d to remove the two words. Notice d returns you to
+ Normal mode.
+ 4. Move to the B of BAZ and repeat the sequence to delete them.
+
+ --> Remove the FOO BAR distracting words BAZ BIZ from this line.
+
+
+
+
+
+
+=================================================================
+= 3.6 SELECTING LINES =
+=================================================================
+
+ Type x to select a whole line. Type x again to select the next.
+
+ 1. Move the cursor to the second line below marked -->.
+ 2. Type x to select the line, and d to delete it.
+ 3. Move to the fourth line.
+ 4. Type x twice or type 2x to select 2 lines, and d to delete.
+
+ --> 1) Roses are red,
+ --> 2) Mud is fun,
+ --> 3) Violets are blue,
+ --> 4) I have a car,
+ --> 5) Clocks tell time,
+ --> 6) Sugar is sweet,
+ --> 7) And so are you.
+
+ Note : X works similarly to x although it doesn't extend to
+ subsequent lines. X on an empty line does nothing.
+
+=================================================================
+= 3.7 COLLAPSING SELECTIONS =
+=================================================================
+
+ Type ; to collapse selections to single cursors.
+
+ Sometimes, you want to deselect without having to move the
+ cursor(s). This can be done using the ; key.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Use the motions you have learned to move around the line,
+ and try using ; to deselect the text after it is selected
+ by the motions.
+
+ --> This is an error-free line with words to move around in.
+
+ Note: This works the same in select mode.
+ Note: Another related command is A-; which flips selections.
+
+
+
+
+=================================================================
+= CHAPTER 3 RECAP =
+=================================================================
+
+ * Type w to select forward until the next word.
+ * Type e to select to the end of the current word.
+ * Type b to select backward to the start of the current word.
+ * Use uppercase counterparts, W,E,B, to traverse WORDS.
+
+ * Type d to delete the entire selection.
+ * Type c to delete the selection and enter Insert mode.
+
+ * Type a number before a motion to repeat it that many times.
+
+ * Type v to enter Select mode, where all motions extend the
+ selection.
+
+ * Type x to select the entire current line. Type x again to
+ select the next line.
+
+ * Type semicolon ( ; ) to collapse selection.
+
+=================================================================
+= 4.1 UNDOING =
+=================================================================
+
+ Type u to undo. Type U to redo.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to the first error, and type d to delete it.
+ 3. Type u to undo your deletion.
+ 4. Fix all the errors on the line.
+ 5. Type u several times to undo your fixes.
+ 6. Type U (<SHIFT> + u) several times to redo your fixes.
+
+ --> Fiix the errors on thhis line and reeplace them witth undo.
+
+
+
+
+
+
+
+
+=================================================================
+= 4.2 COPYING AND PASTING TEXT =
+=================================================================
+
+ Type y to yank (copy) the selection.
+ Type p to paste the yanked selection after the cursor.
+ Type P to paste the yanked text before the cursor.
+
+ 1. Move the cursor to the line below marked -->.
+ Make sure your cursor is on the "b" of banana.
+ 2. Type w to select "banana" and y to yank it.
+ 3. Move to the space between "2" and "3" and type p to paste.
+ 4. Repeat between "3" and "4".
+
+ --> 1 banana 2 3 4
+ 1 banana 2 banana 3 banana 4
+
+ Note: Whenever you delete or change text, Helix will copy the
+ altered text. Use alt-d/c instead to avoid this.
+ Note: Helix doesn't share the system clipboard by default. Type
+ space-y/p to yank/paste on your computer's main clipboard.
+
+=================================================================
+= 4.3 SEARCHING IN FILE =
+=================================================================
+
+ Type / to search forward in file, enter to confirm search.
+ Type n to go to the next search match.
+ Type N to go to the previous search match.
+
+ 1. Type / and type in a common word, like 'banana'.
+ 2. Type enter to confirm the search.
+ 3. Use n and N to cycle through the matches.
+
+ Like the select command, searching also uses regex.
+
+ Note: To search backwards, type ? (shift-/).
+ Note: Unlike Vim, ? doesn't change the search direction.
+ N always goes backwards and n always goes forwards.
+
+
+
+
+
+=================================================================
+= CHAPTER 4 RECAP =
+=================================================================
+
+ * Type u to undo. Type U to redo.
+
+ * Type y to yank (copy) text and p to paste.
+ * Use space-Y and space-P to yank/paste on the system
+ clipboard.
+
+ * Type / to search forward in file, and ? to search backwards.
+ * Use n and N to cycle through search matches.
+
+
+
+
+
+
+
+
+
+
+=================================================================
+= 5.1 MULTIPLE CURSORS =
+=================================================================
+
+ Type C to duplicate the cursor to the next suitable line.
+
+ 1. Move the cursor to the first line below marked -->.
+ 2. Type C to duplicate the cursor to the next suitable line.
+ Notice how it skips the line in the middle. Keys you type
+ will now affect both cursors.
+ 3. Use Insert mode to correct the lines. The two cursors will
+ fix both lines simultaneously.
+ 4. Type , to remove the second cursor.
+
+ --> Fix th two nes at same ime.
+ -->
+ --> Fix th two nes at same ime.
+
+ Fix these two lines at the same time.
+
+ Note: Type alt-C to do the same above the cursor.
+
+=================================================================
+= 5.2 THE SELECT COMMAND =
+=================================================================
+
+ Type s to select matches in the selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Type x to select the line.
+ 3. Type s. A prompt will appear.
+ 4. Type 'apples' and type <ENTER>. Both occurrences of
+ 'apples' in the line will be selected.
+ 5. You can now type c and change 'apples' to something else,
+ like 'oranges'.
+ 6. Type , to remove the second cursor.
+
+ --> I like to eat apples since my favorite fruit is apples.
+ I like to eat oranges since my favourite fruit is oranges.
+
+
+
+
+
+=================================================================
+= 5.3 SELECTING VIA REGEX =
+=================================================================
+
+ The select command selects regular expressions, not just exact
+ matches, allowing you to target more complex patterns.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Select the line with x and then type s.
+ 3. Enter ' +' to select any amount of consecutive spaces >1.
+ 4. Type c and change the matches to single spaces.
+
+ --> This sentence has some extra spaces.
+ This sentence has some extra spaces.
+
+ Note: If you want to perform find-and-replace, the select
+ command is the way to do it. Select the text you want
+ to replace in — type % to select the whole file — and
+ then perform the steps explained above.
+
+
+
+=================================================================
+= 5.4 ALIGN SELECTIONS =
+=================================================================
+
+ Type & to align the contents of the selections.
+
+ 1. Move the cursor to the first line below marked -->. Place
+ the cursor on the whitespace just after the arrow.
+ 2. Type C four times or 4C.
+ 3. Type W to select the numbers and brackets.
+ 4. Type & to align the words.
+
+ --> 97) lorem
+ --> 98) ipsum
+ --> 99) dolor
+ --> 100) sit
+ --> 101) amet
+
+ Note: & only cares about the alignment of the "head" of the
+ selections - the end that moves. The other end is called
+ the "anchor".
+
+=================================================================
+= 5.5 SPLIT SELECTION INTO LINES =
+=================================================================
+
+ Type A-s (Alt-s) to split the selection(s) on newlines.
+
+ 1. Move the first row of the table below.
+ 2. Select the entire table with 6x.
+ 3. Type A-s to split into selections at each line.
+ 4. Align the table with &.
+
+ | FRUIT | AMOUNT |
+ |---------|--------|
+ | Apples | 8 |
+ | Bananas | 6 |
+ | Oranges | 3 |
+ | Donuts | 4 |
+
+
+
+
+
+=================================================================
+= CHAPTER 5 RECAP =
+=================================================================
+
+ * Type C to copy the current selection to below and Alt-C for
+ above.
+
+ * Type s to select all instances of a regex pattern inside
+ the current selection.
+
+ * Type & to align selections.
+
+ * Type A-s to split the selection into lines.
+
+
+
+
+
+
+
+
+
+=================================================================
+= 6.1 SELECTING TO A CHARACTER =
+=================================================================
+
+ Type f<ch> to select up to and including (find) a character.
+ Type t<ch> to do the same, but not including (till) a character.
+ Type uppercase F / T to do the same backwards.
+
+ 1. Move the cursor to the line below marked -->. Place the
+ cursor on the first dash.
+ 2. Type f[ to select to the square bracket.
+ 3. Type d to delete your selection.
+ 4. Go to the end of the line and repeat with F].
+ 5. Move to the second line marked -->, just after the arrow.
+ 6. Use t and T to delete the dashes around the sentence.
+
+ --> -----[Free this sentence of its brackets!]-----
+ --> ------Free this sentence of its dashes!------
+
+ Note: Unlike Vim, Helix doesn't limit these commands to the
+ current line. It searches for the character in the file.
+
+=================================================================
+= 6.2 THE REPLACE COMMAND =
+=================================================================
+
+ Type r<ch> to replace all selected characters with <ch>.
+
+ 1. Move to the second line of the table, place the cursor on the
+ first =.
+ 2. Type t| (Shift-\) to select the = separator.
+ 3. Type r- to replace the separator with dashes.
+
+
+ | Month | Days |
+ |=======|------|
+ | Jan | 31 |
+ | Feb | 28 |
+ | Mar | 31 |
+ | ... | ... |
+
+
+
+
+=================================================================
+= 6.3 REPETITION =
+=================================================================
+
+ Type . to repeat the last insert command.
+ Type A-. to repeat the last f / t selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Make a change, insertion or appendage and repeat it with . .
+ 3. Try using A-. with f and t, to select multiple sentences for
+ instance.
+
+ --> This is some text for you to repeat things. You can repeat
+ insertions like changing words, or repeat selections like f/t.
+
+
+
+
+
+
+
+
+=================================================================
+= CHAPTER 6 RECAP =
+=================================================================
+
+ * Type f / F to extend selection up to & including a character.
+ * Type t / T to extend selection until a character.
+
+ * Type r to replace selected characters.
+
+ * Type . to repeat the last insertion.
+ * Type A-. to repeat the last f / t selection.
+
+
+
+
+
+
+
+
+
+
+
+=================================================================
+= 7.1 REPLACE WITH YANKED TEXT =
+=================================================================
+
+ Type R to replace the selection with previously yanked text.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Type w to select "watermelons" and then y to yank it.
+ 3. Select "oranges" with w.
+ 4. Type R to replace "oranges" with "watermelons"
+
+
+ --> I like watermelons because oranges are refreshing.
+ I like watermelons because watermelons are refreshing.
+
+
+
+
+
+
+
+
+=================================================================
+= 7.2 JOINING LINES =
+=================================================================
+
+ Type J to join together lines in selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Type x four times or 4x to select all four lines.
+ 3. Type J to join the lines together.
+
+ --> This sentence
+is spilling over
+onto other
+lines.
+
+ This sentence is spilling over onto other lines.
+
+
+
+
+
+
+=================================================================
+= 7.3 INDENTING LINES =
+=================================================================
+
+ Type > to indent a line and < to outdent it.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move down to the second line and type > to indent it.
+ 3. Move to the third line and type < to outdent it.
+
+ --> These lines
+ are indented
+ very poorly.
+
+ These lines
+ are indented
+ much better.
+
+
+
+
+
+=================================================================
+= 7.4 INCREMENTING AND DECREMENTING =
+=================================================================
+
+ Type C-a to increment the number under selection.
+ Type C-x to decrement the number under selection.
+
+ 1. Move the cursor to the third line below marked -->.
+ 2. Type C-a to increment the second point marked 2.
+ 3. Repeat for the point marked 3.
+ 4. Move to the last point and type C-x to decrement the 6.
+
+ --> 1) First point.
+ --> 2) Added point.
+ --> 2) Next point.
+ --> 3) Another point.
+ --> 6) Last point.
+
+ Note: If there isn't a number under the selection the cursor
+ will jump to the next number in the line and act on it.
+
+
+=================================================================
+= CHAPTER 7 RECAP =
+=================================================================
+
+ * Type R to replace the selection with yanked text.
+
+ * Type J to join lines in selection.
+
+ * Type < and > to indent / outdent lines.
+
+ * Type C-a to increment the selected number.
+ * Type C-x to decrement the selected number.
+
+
+
+
+
+
+
+
+
+
+=================================================================
+= 8.1 REGISTERS =
+=================================================================
+
+ Registers are containers identified by a character for storing
+ things like yanked text. Registers are also used to store the
+ most recent search term as well as macros, which you'll learn
+ about in the next section.
+
+ Type "<ch> to select register <ch>.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Type w to select "watermelons" and yank with y.
+ 3. Type w to select "bananas".
+ 4. Change to register b with "b and yank with y.
+ 5. Select "mangoes" and type R to replace it with "watermelons".
+ 6. Select "pineapples" then type "b R to replace with "bananas".
+
+ --> I like watermelons and bananas because my favorite fruits
+ are mangoes and pineapples.
+
+
+=================================================================
+= 8.2 MACROS =
+=================================================================
+
+ Macros are a way to record a set of actions you want to repeat.
+ You can also record macros to a specific register (default @).
+ Type Q to start recording a macro - you should see a popup at
+ the bottom of your screen. Type Q again to stop recording.
+ Type q to repeat the macro from register @ (the default).
+
+ 1. Move the cursor to the first line below marked -->.
+ Ensure your cursor is on the > of the arrow.
+ 2. Type Q to start recording.
+ 3. Edit the line to look like the bottom one.
+ 4. Exit insert and Type Q again to stop recording.
+ 5. Move to the line below and put your cursor on the > again.
+ 6. Type q to repeat the macro.
+
+ --> ... sentence doesn't have it's first and last ... .
+ --> ... sentence doesn't have it's first and last ... .
+ This sentence doesn't have it's first and last word.
+
+=================================================================
+= CHAPTER 8 RECAP =
+=================================================================
+
+ * Type " to select a different register.
+
+ * Type Q to start and stop recording a macro to a register,
+ the default being @.
+
+ * Type q to replay a macro from @ or the selected register.
+
+
+
+
+
+
+
+
+
+
+
+
+=================================================================
+= 9.1 SEARCHING FOR SELECTIONS =
+=================================================================
+
+ The most recent search with / is stored in register /.
+ n and N both refer to register /, this means we can set that
+ register without having to type in a search.
+
+ Type * to copy the primary selection into register /, setting
+ the search term to the selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Select "horse" with e and type *.
+ 3. Use n and N to jump between the instances of "horse".
+
+ --> A horse is a horse, of course, of course,
+ --> And no one can talk to a horse of course.
+
+ Note: * is like a shorthand for "/ y as all it really does is
+ copy the selection into the / register.
+
+
+=================================================================
+= 9.2 ADDING SELECTION ON NEXT SEARCH MATCH =
+=================================================================
+
+ A property of select mode (v) when using n and N is that instead
+ of moving the selection to the next match, it adds a new
+ selection on each match.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Select the first "bat" and type * to set it to search.
+ 3. Type v to enter select mode.
+ 4. Type n to select the other "bat".
+ 5. Use c or r to change the "bat"s to "cat".
+
+ --> Everybody wants to be a bat,
+ --> because a cat's the only bat
+ --> who knows where it's at.
+
+
+
+
+
+=================================================================
+= 9.3 USING THE JUMPLIST =
+=================================================================
+
+ Helix can keep track of "jumps" which are big movements, like
+ searching or jumping to the definition of a function in code. It
+ stores these in what's called the jumplist.
+
+ Type C-s (ctrl-s) to manually save your current position to
+ the jumplist.
+
+ Type C-i ("in") and C-o ("out") to move forward and backwards in
+ the jumplist respectively.
+
+ 1. Type C-s somewhere.
+ 2. Move far away in the file.
+ 3. Type C-o (just once!) to come back to where you saved.
+
+
+
+
+
+=================================================================
+= CHAPTER 9 RECAP =
+=================================================================
+
+ * Type * to set the search register to the primary selection.
+
+ * Type n / N in visual mode to add selections on each search
+ match.
+
+ * Type C-s to save position to the jumplist.
+ * Type C-i and C-o to go forward and backward in the jumplist.
+
+
+
+
+
+
+
+
+
+
+
+=================================================================
+= 10.1 CYCLING AND REMOVING SELECIONS =
+=================================================================
+
+ Type ) and ( to cycle the primary selection forward and backward
+ through selections respectively.
+
+ Type A-, to remove the primary selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Select both lines with xx or 2x.
+ 3. Type s to select, type "would" and enter.
+ 4. Use ( and ) to cycle the primary selection and remove the
+ very second "would" with A-, .
+ 5. Type c "wood" to change the remaining "would"s to "wood".
+
+ --> How much would would a wouldchuck chuck
+ --> if a wouldchuck could chuck would?
+
+ Note: Additionally, A-( and A-) cycle the *contents* of the
+ selections as well.
+
+=================================================================
+= 10.2 CHANGING CASE =
+=================================================================
+
+ Type ~ to switch the case of all selected letters.
+ Type ` to set all selected letters to lowercase.
+ Type Alt-` to set all selected letters to uppercase.
+
+ 1. Move the cursor to the first line below marked -->.
+ 2. Select each wrongly capitalised or lowercase letter
+ and type ~ over them.
+ 3. Move to the second line marked -->.
+ 4. Type x to select the line.
+ 5. Type ` to change the line to lowercase.
+ 6. Move to the third line marked -->.
+ 7. Type x to select the line.
+ 8. Type Alt-` to change the line to uppercase.
+
+ --> thIs sENtencE hAs MIS-cApitalIsed leTTerS.
+ --> this SENTENCE SHOULD all be in LOWERCASE.
+ --> THIS sentence should ALL BE IN uppercase!
+
+=================================================================
+= 10.3 SPLITTING SELECTIONS =
+=================================================================
+
+ Type S to split each selection on a regex pattern.
+
+ 1. Move the cursor to the line under ---.
+ 2. Type xx / 2x to select the lines.
+ 3. Type S then \. |! <enter> (note the spaces after . and !).
+ This effectively splits the selection into sentences at each
+ dot or exclamation mark.
+ 4. Type A-; to reverse the selections.
+ 5. Type ; to reduce selections to a single character - the first
+ letter of each sentence.
+ 6. Type A-` to convert all selected letters to uppercase.
+
+---
+these are sentences. some sentences don't start with uppercase
+letters! that is not good grammar. you can fix this.
+
+
+
+=================================================================
+= CHAPTER 10 RECAP =
+=================================================================
+
+ * Use ) and ( to cycle the primary selection back and forward
+ through selections respectively.
+ * Type A-, to remove the primary selection.
+
+ * Type ~ to alternate case of selected letters.
+ * Use ` and A-` to set the case of selected letters to
+ upper and lower respectively.
+
+ * Type S to split selections on regex.
+
+
+
+
+
+
+
+
+
+=================================================================
+ This tutorial is still a work-in-progress.
+ More sections are planned.