home *** CD-ROM | disk | FTP | other *** search
- /*
- * STevie - ST editor for VI enthusiasts. ...Tim Thompson...twitch!tjt...
- */
-
- #include <ctype.h>
- #include "stevie.h"
-
- static int helprow;
-
- help()
- {
- windclear();
- windgoto(helprow=0,0);
- longline("\
- \n\
- Cursor movement commands\n\
- ========================\n\
- control-l Redraw screen\n\
- control-d Cursor down 1/2 screen\n\
- control-u Cursor up 1/2 screen\n\
- control-f Cursor forward 1 screen\n");
- longline("\
- control-b Cursor back 1 screen\n\
- control-g Give info on file\n\
- \n\
- h Cursor left 1 char\n\
- j Cursor down 1 char\n\
- k Cursor up 1 char\n");
- longline("\
- l Cursor right 1 char\n\
- $ Cursor to end of line\n\
- ^ -or- 0 Cursor to beginning of line\n\
- b Cursor back 1 word\n");
- longline("\
- w Cursor forward 1 word\n\
- [#]G Goto line # (or last line if no #)\n\
- \n\
- <Press space bar to continue>\n\
- <Any other key will quit>");
- windrefresh();
- if ( vgetc() != ' ' )
- return;
- windclear();
- windgoto(helprow=0,0);
- longline("\
- \n\
- Modification commands\n\
- =====================\n\
- x Delete 1 char\n\
- dw Delete 1 word\n\
- D Delete rest of line\n\
- [#]dd Delete 1 (or #) lines\n\
- C Change rest of line\n");
- longline("\
- cw Change word\n\
- cc Change line\n\
- r Replace single character\n\
- [#]yy Yank 1 (or #) lines\n\
- p Insert last yanked or deleted line(s)\n");
- longline("\
- P below (p) or above (P) current line\n\
- J Join current and next line\n\
- [#]<< Shift line left 1 (or #) tabs\n\
- [#]>> Shift line right 1 (or #) tabs\n\
- i Enter Insert mode (<ESC> to exit)\n");
- longline("\
- a Append (<ESC> to exit) \n\
- o Open line (<ESC> to exit)\n\
- \n\
- <Press space bar to continue>\n\
- <Any other key will quit>");
- windrefresh();
- if ( vgetc() != ' ' )
- return;
- windclear();
- windgoto(helprow=0,0);
- longline("\
- \n\
- Miscellaneous\n\
- =============\n\
- . Repeat last insert or delete\n\
- u Undo last insert or delete\n\
- /str/ Search for 'str'\n\
- ?str? Search backward for 'str'\n");
- longline(" n Repeat previous search\n\
- :.= Print current line number\n\
- :$= Print number of lines in file\n\
- H Help\n\
- \n\
- File manipulation\n\
- =================\n");
- longline("\
- :w Write file\n\
- :wq Write and quit\n\
- :e {file} Edit a new file\n\
- :e! Re-read current file\n\
- :f Print file into (current line and total # of lines)\n");
- longline("\
- :f {file} Change current file name\n\
- :q Quit\n\
- :q! Quit (no save)\n\
- \n\
- <Press any key>");
- windrefresh();
- vgetc();
- }
-
- longline(p)
- char *p;
- {
- char *s;
-
- for ( s=p; *s; s++ ) {
- if ( *s == '\n' )
- windgoto(++helprow,0);
- else
- windputc(*s);
- }
- }
-