,MOD
- R 44X (11 April 1983) <PSL.NMODE-DOC>NM-SEARCHING.ibm
PLA 97_LAS 80 0_FIR 2_INT 1 6.0_TYP 160 163 162 193_INP 12 101_MAR 2
,END
,PRO
201 OUT 160_202 OUT 163_203 OUT 162_204 OUT 193
205 INP 12 101_206 INP 12 102
,END
,DEFINE
 UNIT SPACE
 FUNCTION
,END

          201/NMODE Manual (Searching)                                          Page 12-1


          202/12.  Searching

            201/Like other editors, NMODE has commands for searching for an occurrence of
          a string.  The search command is unusual in that it is 202/incremental201/; it begins
          to search before you have finished typing the search string.  As you type in
          the search string, NMODE shows you where it would be found.  When you
          have typed enough characters to identify the place you want, you can stop.
          Depending on what you will do next, you may or may not need to terminate
          the search explicitly with an Escape (Execute on the hp9836) first.

                  C-S        Search forward.
                  C-R        Search backward.

            The command to search is C-S (203/incremental-search-command201/).  C-S reads in
          characters and positions the cursor at the first occurrence of the characters
          that you have typed.  If you type C-S and then F, the cursor moves right
          after the first "F".  Type an "O", and see the cursor move to after the first
          "FO".  After another "O", the cursor is after the first "FOO" after the place
          where you started the search.  At the same time, the "FOO" has echoed at
          the bottom of the screen.

            If you type a mistaken character, you can delete it.   After the FOO,
          typing a Backspace makes the "O" disappear from the bottom of the screen,
          leaving only "FO".  The cursor moves back to the "FO".  Deleting the "O"
          and "F" moves the cursor back to where you started the search.

            When you are satisfied with the place you have reached, you can type an
          Escape, which stops searching, leaving the cursor where the search brought
          it.   Also, any command not specially meaningful in searches stops the
          searching and is then executed.  204/1 201/Thus, typing C-A would exit the search
          and then move to the beginning of the line.  escape is necessary only if the
          next command you want to type is a printing character, Rubout, Backspace,
          Escape, C-Q, or another search command, since those are the characters that
          have special meanings inside the search.

            Sometimes you search for "FOO" and find it, but not the one you expected
          to find.  There was a second FOO that you forgot about, before the one you
          were looking for.  Then type another C-S and the cursor will find the next
          FOO.  This can be done any number of times.  If you overshoot, you can
          delete the C-S's.

            After you exit a search, you can search for the same string again by
          typing just C-S C-S: one C-S command to start the search and then another
          C-S to mean "search again".


          ______________________________

          201/ 1.  A few other commands are not executed after a search.  Most special
          function keys send commands which begin with Escape.  This escape is taken
          as terminating the search, and the rest of the command is then executed.
          ESC-A, for instance, will terminate the search and insert A, instead of
          terminating the search and jumping up a line.
          201/Page 12-2                                          NMODE Manual (Searching)


            If your string is not found at all, the echo area says "Failing I-Search".
          The cursor is after the place where NMODE found as much of your string as
          it could.  Thus, if you search for FOOT, and there is no FOOT, you might
          see the cursor after the FOO in FOOL.   At this point there are several
          things you can do.  If your string was mistyped, you can rub some of it out
          and correct it.  If you like the place you have found, you can type Escape
          or some other NMODE command to "accept what the search offered".  Or you
          can type C-G, which throws away the characters that could not be found (the
          "T" in "FOOT"), leaving those that were found (the "FOO" in "FOOT").  A
          second C-G at that point undoes the search entirely.

            The C-G "quit" command does special things during searches; just what,
          depends on the status of the search.  If the search has found what you
          specified and is waiting for input, C-G cancels the entire search.   The
          cursor moves back to where you started the search.  If C-G is typed while
          the search is actually searching for something or updating the display, or
          after search failed to find some of your input (having searched all the way to
          the end of the file), then only the characters which have not been found are
          discarded.  Having discarded them, the search is now successful and waiting
          for more input, so a second C-G will cancel the entire search.  Make sure
          you wait for the first C-G to ring the bell before typing the second one; if
          typed  too  soon,  the  second  C-G may be confused with the first and
          effectively lost.

            You can also type C-R at any time to start searching backwards.  If a
          search fails because the place you started was too late in the file, you should
          do this.  Repeated C-R's keep looking for more occurrences backwards.  A
          C-S starts going forwards again.  C-R's can be rubbed out just like anything
          else.  If you know that you want to search backwards, you can use C-R
          instead  of  C-S  to  start  the  search,  because  C-R  is  also a command
          (203/reverse-search-command201/) to search backward.

            All sorts of searches in NMODE normally ignore the case of the text they
          are searching through; if you specify searching for FOO, then Foo and foo
          are also considered a match.