summaryrefslogtreecommitdiffstats
path: root/emacs.d/nxhtml/etc/viper-tut/2moving
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.d/nxhtml/etc/viper-tut/2moving')
-rw-r--r--emacs.d/nxhtml/etc/viper-tut/2moving269
1 files changed, 269 insertions, 0 deletions
diff --git a/emacs.d/nxhtml/etc/viper-tut/2moving b/emacs.d/nxhtml/etc/viper-tut/2moving
new file mode 100644
index 0000000..8e4148e
--- /dev/null
+++ b/emacs.d/nxhtml/etc/viper-tut/2moving
@@ -0,0 +1,269 @@
+Viper tutorial #2: Moving Through Files Efficiently
+
+This lesson lasts 15-20 minutes. The material taught here is used in
+tutorial #3: Cutting and Pasting. Lines which begin with >>> mark
+exercises you should try. When you want to exit this tutorial type 'Z''Z'.
+
+
+WORDS
+-----
+There are many ways to move from one word to another. Consider these:
+
+ 'w' Move to the beginning of the next WORD
+ 'e' Move to the END of the next word
+ 'b' Move BACK to the beginning to the previous word
+
+For 'w', 'e', and 'b', a word is delimited by any non-alphanumeric
+character. The capitalized versions, 'W', 'E', and 'B', also move from word
+to word. The difference is that for 'W', 'E', and 'B', a word is delimited
+by any blank space.
+
+>>> Try out 'w', 'b', 'e', on the lines provided below.
+>>> Next practice using 'B', 'W', 'b', 'E' on the lines provided below.
+
+ EX-PER-IMENT on these lines;test moving back &forth.
+ EX-PER-IMENT on these lines;test moving back &forth.
+
+
+ON THE LINE
+-----------
+You can move immediately to any point on the current line.
+
+ '$' Move to the end of the line
+ '^' Move to the first non-white character on the line
+
+ '0' Move to the first column on the line (column zero)
+ #'|' Move to an exact column on the line (column #) e.g. 5| 12|
+
+>>> Experiment with '$' and '^' on the line provided below. Notice
+>>> that '^' moves to the first non-white character, not the beginning.
+
+ This is a PRACTICE LINE. There is white space at the front. END
+
+'0' (zero) will always take you to the far left edge of the screen.
+
+#'|' (number vertical-bar) is for moving to an explicit column on a line.
+Just type any number 1-80 and press | . For example: 5| 20| 30|
+Note that you can't move beyond the last column on a line.
+
+
+FINDING CHARACTERS
+------------------
+Often you want to move to a specific letter or character on a line.
+
+ 'f' char FIND the next occurrence of char on the line
+ 't' char Move 'TIL the next occurrence of char on the line
+
+ 'F' char FIND the previous occurrence of char on the line
+ 'T' char Move 'TIL the previous occurrence of char on the line
+
+ ';' Repeat the last f, t, F, or T
+ ',' Reverse the last f, t, F, or T
+
+'f' and 'F' land on the character. 't' and 'T' land next to the character.
+'f' and 't' move forward, while 'F' and 'T' move backward.
+
+If the specified character is not on the line, vi will beep.
+
+>>> Move to the beginning of the line below, and try out these commands:
+>>> 'f'e 'f'E ';' ';' ',' ',' 't'@ 'T'P 't'e 't'E ',' ';' ',' ';'
+
+ "PRACTICE line?" "Each and Every?" "Find thE char@cter and move to it.END
+
+
+MATCHING
+--------
+vi has a handy way to determine if (), {}, and [] pairs match up.
+
+ '%' Move to matching () or {} or []
+
+>>> On the practice lines below, move your cursor over a (,),{,},[, or ].
+>>> Then type '%' .
+
+ [TRY THIS. ((Whether) the pairs match up is the question.) [One]
+ pair is incomplete]. Can you tell {which one? ]} END
+
+
+WINDOW POSITIONS
+----------------
+You can move the cursor to the top, middle, or bottom of the vi window.
+
+ 'H' Move to the HIGHEST position in the window
+ 'M' Move to the MIDDLE position in the window
+ 'L' Move to the LOWEST position in the window
+
+>>> Try out these commands: type H then M and L and then M again.
+
+
+MARKING LOCATIONS
+-----------------
+You can mark positions in the file and return to them.
+
+ 'm' char MARK this location and name it char
+ ''' char (quote character) return to line named char
+ '''''' (quote quote) return from last movement
+
+char can be any lower case letter, a-z. A mark persists until you:
+ 1) use the same char to mark another location
+ or 2) delete the marked line
+
+>>> Move to this line and type ma to mark it a
+>>> Move to this line and type mb to mark it b
+>>> Move to this line and type mz to mark it z
+>>> Type 'a to return to line a
+>>> Type 'b to return to line b
+>>> Type 'z to return to line z
+
+Certain commands can move you large distances. These commands cause
+your last position to be remembered in the special mark named ' (quote).
+To move to this special mark, just type '' (quote quote).
+
+>>> Try this: 'b to return to line b, and then '' to return here.
+
+
+GO TO A LINE
+------------
+
+ 'G' GO to the last line in the file
+ #'G' GO to line #. (e.g., 3G , 5G , 124G )
+
+Read these directions carefully:
+>>> Type '1''G' to go to the top of the file, and then '''''' (quote quote)
+>>> to return here.
+>>> Now try 'G' to go to the end of the file, and then '''''' to return here.
+
+
+BLOCKS OF TEXT
+--------------
+It is often convenient to move through files jumping from one block of
+text to the next. To do this use braces and parentheses:
+
+ '{' (left brace) Move to the beginning of a paragraph
+ '}' (right brace) Move to the end of a paragraph
+
+ '(' (left paren) Move to the beginning of a sentence
+ ')' (right paren) Move to the beginning of the next sentence
+
+>>> Experiment with '}' and '{' on the two paragraphs provided below.
+>>> Note that paragraphs are separated by a blank line.
+
+ EXPERIMENT on this first paragraph. The quick brown fox jumped
+ over the seven lazy dogs. The fox must have been very large to
+ jump over seven dogs!
+
+ EXPERIMENT on this second paragraph. The quick brown dog
+ jumped over the seven lazy foxes. The dog didn't have to be nearly
+ as large, since foxes aren't too big.
+
+>>> Try out ')' and '(' on the two paragraphs provided above.
+>>> Notice that sentences are separated by two blank spaces.
+
+C programmers find it useful to move by sections, since sections may be
+delimited by a left brace in the first column. By placing the opening
+brace of a C subroutine in the first column, you can move to the top of
+the next subroutine, using '[''[' and ']'']' .
+
+ '[''[' Move to the beginning of a section
+ ']'']' Move to the end of a section
+
+Note that if vi does not find a left brace at the far left, it will
+move to the top or bottom of the file.
+
+>>> Now try ']'']' then ']'']' and '[''[' on the subroutines provided below:
+
+main()
+{
+ helloworld();
+}
+
+helloworld()
+{
+ printf( "Hello world\n" );
+}
+
+
+SEARCHING
+---------
+This enables you to jump to the next occurrence of a string in a file.
+To initially find the string use:
+
+ '/'string Find string looking forward
+ '?'string Find string looking backward
+
+To find additional occurrences of the string type:
+
+ 'n' Repeat last / or ? command
+ 'N' Reverse last / or ? command
+
+vi may search past the bottom of the file and then start again at the top.
+(Or, vi may search past the top and then start again at the bottom.)
+
+>>> You are going to search for a string, find the next three
+>>> occurrences. Then flip directions and find the string until you
+>>> return to this location. To do this:
+>>> Type '/''t''h''e' then press RETURN.
+>>> Type 'n' three times.
+>>> Type 'N' until you return to this location.
+
+* EMACS-NOTICE: Emacs has very powerful SEARCH-COMMANDS which you may
+ want to use in parallell to those above. One of the first you want
+ to try is probably C-s (ISEARCH-FORWARD).
+
+
+SUMMARY
+-------
+
+ 'w' Move to the beginning of the next WORD
+ 'e' Move to the END of the next word
+ 'b' Move BACK to the beginning to the previous word
+
+ '$' Move to the end of the line
+ '^' Move to the first non-white character on the line
+
+ '0' Move to the first column on the line (column zero)
+ #'|' Move to an exact column on the line (column #) e.g. 5| 12|
+
+ 'f' char FIND the next occurrence of char on the line
+ 't' char Move 'TIL the next occurrence of char on the line
+
+ 'F' char FIND the previous occurrence of char on the line
+ 'T' char Move 'TIL the previous occurrence of char on the line
+
+ ';' Repeat the last f, t, F, or T
+ ',' Reverse the last f, t, F, or T
+
+ '%' Show matching () or {} or []
+
+ 'H' Move to the HIGHEST position in the window
+ 'M' Move to the MIDDLE position in the window
+ 'L' Move to the LOWEST position in the window
+
+ 'm' char MARK this location and name it char
+ ''' char (quote character) return to line named char
+ '''''' (quote quote) return from last movement
+
+ 'G' GO to the last line in the file
+ #'G' GO to line #. (e.g., 3G , 5G , 175G )
+
+ '{' (left brace) Move to the beginning of a paragraph
+ '}' (right brace) Move to the end of a paragraph
+
+ '(' (left paren) Move to the beginning of a sentence
+ ')' (right paren) Move to the beginning of the next sentence
+
+ '[''[' Move to the beginning of a section
+ ']'']' Move to the end of a section
+
+ '/'string Find string looking forward
+ '?'string Find string looking backward
+
+ 'n' Repeat last / or ? command
+ 'N' Reverse last / or ? command
+
+You should now be able to move around files very efficiently. These
+commands are especially useful if you are using vi over a slow modem.
+Practice the material in this lesson for a few days and then take
+either the third vi tutorial to learn how to copy, cut, and paste, or
+the forth vi tutorial to learn additional insertion techniques.
+
+Copyright (c) 1992 Jill Kliger and Wesley Craig. All Rights Reserved.