⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stevie.doc

📁 STEVIE文本文件编缉器的C 语言源程序
💻 DOC
📖 第 1 页 / 共 3 页
字号:
















                                  - 6 -







       STEVIE                                        User Reference



       :w              write the current file
       :wq             write and quit
       :x              write (if necessary) and quit
       ZZ              same as ":x"

       :e file         edit the named file
       :e!             re-edit the current file, discarding changes
       :e #            edit the alternate file

       :w file         write the buffer to the named file
       :x,yw file      write lines x through y to the named file
       :r file         read the named file into the buffer

       :n              edit the next file
       :N              edit the previous file
       :rew            rewind the file list

       :f              show the current file name
       :f name         change the current file name
       :x=             show the line number of address 'x'

       :ta tag         go to the named tag
       ^]              like ":ta" using the current word as the tag

       :help           display a command summary
       :ve             show the version number

       :sh             run an interactive shell
       :!cmd           run a command

       The ":help" command can also be invoked with the <HELP>  key
       on  the  Atari  ST. This actually displays a pretty complete
       summary of the real vi with unsupported  features  indicated
       appropriately.

       The commands above work pretty much like they  do  in  'vi'.
       Most  of  the commands support a '!' suffix (if appropriate)
       to discard any pending changes.


       5.  _S_t_r_i_n_g__S_e_a_r_c_h_e_s

       String searches are supported, as in vi, accepting the usual
       regular  expression  syntax.  This was done using a modified
       form of Henry Spencer's regular expression library. I  added
       code outside the library to support the '\<' and '\>' exten-
       sions.  The parameter "ignorecase" can be set to ignore case
       in all string searches.






                                  - 7 -







       STEVIE                                        User Reference



       6.  _O_p_e_r_a_t_o_r_s

       The vi operators (d, c, y, !, <, and >) work as true  opera-
       tors.   The tilde command may also be used as an operator if
       the parameter "tildeop"  has  been  set.  By  default,  this
       parameter is not set.


       7.  _T_a_g_s

       Tags are implemented and a fairly simple version of  'ctags'
       is  supplied  with  the editor. The current version of ctags
       will find functions and macros  following  a  specific  (but
       common) form.  See 'ctags.doc' for a complete discussion.


       8.  _S_y_s_t_e_m_-_S_p_e_c_i_f_i_c__C_o_m_m_e_n_t_s

       The following sections provide additional relevant  informa-
       tion for the systems to which STEVIE has been ported.

       8.1  _A_t_a_r_i__S_T

       8.1.1  _T_O_S  The editor has been tested in all three  resolu-
       tions,  although  low  and  high  res.  are less tested than
       medium. The 50-line high res. mode can be  used  by  setting
       the  'lines' parameter to 50. Alternatively, the environment
       variable 'LINES' can be set. The editor doesn't actively set
       the  number  of  lines on the screen. It just operates using
       the number of lines it was told.

       The arrow keys, as well as the <INSERT>, <HELP>, and  <UNDO>
       keys are all mapped appropriately.

       8.1.2  _M_i_n_i_x  The editor  is  pretty  much  the  same  under
       Minix,  but  many  of  the keyboard mappings aren't yet sup-
       ported.

       8.2  _U_N_I_X

       The editor has been ported to UNIX System  V  release  3  as
       well as 4.2 BSD.  This was done mainly to get some profiling
       data so I haven't put much effort into doing the  UNIX  ver-
       sion  right.   While the termcap routines are supported, the
       editor is still fairly picky about the capabilities it wants
       and makes little effort to do clever things with less intel-
       ligent terminals.

       Job control is supported on BSD systems.





                                  - 8 -







       STEVIE                                        User Reference



       8.3  _O_S_/_2

       Make sure 'ansi' mode is on (using the 'ansi' command).  The
       OS/2  console  driver doesn't  support  insert/delete  line,
       so STEVIE bypasses the  driver  and  makes  the  appropriate  
       system  calls  directly.  This  is  all done in the  system-
       specific part of the  editor  so  the  kludge  is  at  least
       localized.

       The arrow keys, page up/down and home/end all do what  you'd
       expect. The function keys are hard-coded to some useful mac-
       ros until I can get true support for macros into the editor.
       The current mappings are:

            F1      :N <RETURN>
            F2      :n <RETURN>
            F3      :e # <RETURN>
            F4      :rew <RETURN>
            F5      [[
            F6      ]]
            F7      Convert C declaration to pseudo-english (uses cdecl)
            F8      Convert english-style declaration to C (uses cdecl)
            F9      :x <RETURN>
            F10     :help <RETURN>

            S-F1    :N! <RETURN>
            S-F2    :n! <RETURN>

       The macros for F7 and F8 assume that the "cdecl" program  is
       available.

       8.4  _M_S_D_O_S

       STEVIE has been ported to MSDOS 3.3 using  the  Microsoft  C
       compiler,  version  5.1.  The keyboard mappings are the same
       as for OS/2.  The only problem with the PC version  is  that
       the inefficiency of the screen update code becomes painfully
       apparent on slower machines.

       The DOS version requires the  use  of  an  extended  console
       driver  that  can  insert and delete lines.  The distributed
       code uses "nansi.sys" which seems to be widely available.


       9.  _M_i_s_s_i_n_g__F_e_a_t_u_r_e_s

         1.  The ability to edit files larger  than  the  available
             memory.   This  isn't a problem on the machines I use,
             but it hits the Minix-PC people pretty hard.





                                  - 9 -







       STEVIE                                        User Reference



         2.  Macros with support for function keys.

         3.  More "set" options.

         4.  Many others...


       10.  _K_n_o_w_n__B_u_g_s__a_n_d__P_r_o_b_l_e_m_s

         1.  The yank buffer uses statically allocated  memory,  so
             large  yanks  will  fail.  If  a  delete spans an area
             larger than the yank buffer, the program asks for con-
             firmation  before  proceeding.  That  way, if you were
             moving text, you don't get screwed by the limited yank
             buffer.  You  just  have  to  move smaller chunks at a
             time. All the  internal  buffers  (yank,  redo,  etc.)
             need  to  be  reworked to allocate memory dynamically.
             The 'undo' buffer is now dynamically allocated, so any
             change can be undone.

         2.  If you stay in insert mode for a long time, the insert
             buffer  can overflow.  The editor will print a message
             and dump you back into command mode.

         3.  The current version of the substitute and global  com-
             mands  (i.e.  ":s/foo/bar"  or  ":g/foo/d")  can't  be
             undone.  This is due to the current design of the undo
             code.   To undo these commands would generally involve
             unreasonable amounts of memory.

         4.  Several other less bothersome glitches...























                                  - 10 -







       STEVIE                                        User Reference



       11.  _C_o_n_c_l_u_s_i_o_n

       The editor has reached a pretty stable state,  and  performs
       well  on  the  systems  I  use  it on, so I'm pretty much in
       maintenance mode now.  There's still plenty to be done;  the
       screen  update  code  is  still  pretty  inefficient and the
       yank/put code is still primitive.  I'm still  interested  in
       bug  reports,  and I do still add a new feature from time to
       time, but the rate of change is way down now.

       I'd like to thank Tim Thompson for writing the original ver-
       sion  of  the  editor.  His  program was well structured and
       quite readable. Thanks for giving me a  good  base  to  work
       with.   Thanks also to many users of STEVIE who have sent in
       their changes.  Many of the  changes  I've  received  aren't
       portable  to  all  the systems I support, but I'm working to
       get portable  implementations  integrated  into  the  editor
       where possible.

       If you're reading this file, but didn't get the source  code
       for STEVIE, it can be had by sending a disk with return pos-
       tage to the address given below. I can write disks  for  the
       Atari  ST (SS or DS) or MSDOS (360K or 1.2M). Please be sure
       to include the return postage. I don't intend to make  money
       from this program, but I don't want to lose any either.

            Tony Andrews       UUCP: uunet!dunike!onecom!raid5!tony
            5902E Gunbarrel Ave.
            Boulder, CO 80301

























                                  - 11 -







       STEVIE                                        User Reference



       _C_h_a_r_a_c_t_e_r__F_u_n_c_t_i_o_n__S_u_m_m_a_r_y

       The following list describes the meaning of  each  character
       that's  used  by  the  editor. In some cases characters have
       meaning in both command  and  insert  mode;  these  are  all
       described.


       ^@      The null character. Not used in any mode. This char-
               acter may not be present in the file, as is the case
               with vi.

       ^B      Backward one screen.

       ^D      Scroll the window down one half screen.

       ^E      Scroll the screen up one line.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -