Special Commands

A-Shell/Vue is mainly intended for the convenience of those already familiar with some other version of VUE, (e.g. VUE, XED, or d/VUE). Since the A-Shell/Vue supports mainly just the "core subset" of features that most people use, there did not seem to be much need to document it in detail here. However, there are a few editing features that are either non-standard extensions or just plain exotic, such that many people are not aware of them. Since it would be a shame to live without these features, they are hereby revealed.

Push/Pop: Although these are supported in virtually all other versions of VUE, A-Shell/Vue offers a useful enhancement on the idea by providing a stack of up to ten push/pop locations. The standard PUSH and POP commands access this stack in the usual LIFO fashion, but if you specify a numeric stack location (e.g. >PUSH 5) it uses that entry directly. Thus is becomes something more like a "bookmark". Note that whenever you directly access the push/pop stack this way, it resets the "stack pointer" to that location, which will affect the operation of any subsequent "unadorned" PUSH or POP command. Note also that current implemention of POP restores the original screen position, whereas earlier versions positioned the window so that the popped line was the fifth line.

Edit History commands: In addition to the automatic edit history feature (see UPDATE and AUTODELETE) above, there are also a couple of features which ease the maintenance of manual edit history notation. One is based on XED, and is invoked with ^_E (Ctrl+Shift+Underline+E), while the other is based on d/VUE and is invoked with ^SE (Ctrl+S followed by E). They both start by searching the file for the current edit number as defined by either a VEDIT = ### statement or a PROGRAM xxxxx, #.##(###) statement. (VEDIT is the symbol used by AMOS assembly language source files to define the edit number. If you want to use it with other program types, you will probably need to comment out the line to avoid compiler troubles.) Both commands search first for VEDIT, then for PROGRAM. If either is found with an acceptable syntax, it reads the three-digit edit number. Then, in the XED version, it increments the number within the VEDIT or PROGRAM statement and uses it to construct a two-line edit history entry, which inserts at the line where the cursor was, using the following format: 

![124] October 02, 1998 05:59 PM        Edited by jack

!    _

 

(The idea is that you will then add in your own information describing the purpose of the edit.)

In the d/VUE version, the current edit number is not incremented, and the only thing inserted into the file at the position of the cursor is the current edit number in [###] notation. This form is particularly useful for commenting individual changes in a program and associating them with the program’s edit number.

Use the Command Mode HELP command to get a complete list of all the available commands.

History

2004 April, A-Shell 879:  The following were added:

   Implement primitive 'bookmarks': these are similar to the multiple push/pop capability except that there is no concept of a hierarchy or stack. ^sm creates a bookmark for the current line. ^sn jumps to the next bookmark. ^sc clears the bookmark from the current line. The feature is handy when working on several sections in a large file and you want to jump between them.

   Implement the append macro feature (^_a).

   ^_f formats the current paragraph. (Same as >FORMAT).

   (UNIX, standalone mode) A new ini.vue feature, BAKDIR=<nativedirectory>, causes the .BAK file to be put in the specified directory, rather than in current directory. This can help avoid confusion in cases where .BAK files might not be recognized properly by other people or programs.

   (standalone) The display of the file path on the status line is now more intelligent, expanding it out with the current directory info if not specified on the command line, and trimming the first part of it if too long. This is particularly helpful when simultaneously editing multiple copies of a file in different directories.