?? stevie.doc
字號:
- 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 + -