<compass> | <toc>


most recent revises 4 july 2001
The dozen or so !xyWiz files contain scores of xyWrite 3 xpl modules that smooth and enrich everyday writing, editing, and Internet interaction. At the core, three managers consolidate and often extend with new options fundamental operations that separate text processors from typewriters: searches and replaces, text blocks, and file and session management. Other !xyWiz files are composed of modules that refine and expand operations as diverse as spellchecks and MDxx color associations. Bob Kuttner quotes Rick Hertzberg as saying that with xyWrite there are fewer steps between your brain and your prose. !xyWiz further reduces the number of steps.

!xyWiz is set up so the instant an idea strikes that wants interaction--e.g., a search string or a file name for a "sad" block save--you clear the CMline and type the string. Then you can recall which key does the deed instead of having to interrupt thought with command before the fact. You can run most !xyWiz modules with a global <!xyWise> key, but dedicating keys to basic modules relieves you of having to remember their names and CMline arguments.

So you needn't type even the command or remember pgm names and args, !xyWiz expects several modules to be assigned to keys. Not to worry. They often replace xyW functions they refine; !xyWiz frees dozens of default.kbd keys. Most pgms are "smart": What they do depends on the context they detect when you tap the key. One key, e.g., searches or counts instances of a string, locally or across a directory, or resumes an interrupted crossfile search, or if a local search fails, or if a search command is on the command line, searches back for the string. Just remember which key is your search key, not commands and pgm names. Muscle memory kicks in quickly.

To avoid draining permanent memory, !xyWiz keeps out of your Help file. In order not to clutter your hard drive, it tries to stick to basics and stay the same size as new functionality is added to more efficient code, not to demonstrate every trick xyWrite or its programming language can do:

managing the basics
!!! is a feast of services that manage file opening/closing and dir navigation and session startup/shutdown. Between startup and shutdown, !!! opens and closes files--with comprehensive options. its organizing principle is that it is to keep the screen occupied at all times by a file or a dir list where you can point to a file name for !!! to open or another dir for !!! to list with an option to cd. It also opens old and new files whose names you type, and navigates from dir lists and trees it generates. When you do type a file or subdir name, you can type spaces instead of colon and backslashes in the path.
When you tap the !!! key that opens a file, !!! offers appropriate options if it detects that the file is already open in another window, that paragraph breaks are unix, not dos, that the file is html, or that a misplaced eof at some midpoint hides part of the file and xyWrite will truncate it there when you save. If a file is html, e.g., !!! choices include strip tags except urls and a few it converts to xyW formatting, conceal tags, display the file in your browser, or none of the above. After the file is open, tapping the same key cycles through "views"--hide codes, show codes, etc.
When you signal !!! that you're ready to close a file, the next key you tap determines whether !!! aborts the file, stores it with eof or without, prints it, or prints it to disk as email. If email, after !!! stores the file and formats a copy with the email driver it reloads your default printer driver and opens the email copy for review. Otherwise--unless you've tapped the key that indicates you're ready to quit the session--the next screen will be a list of that file's dir, not the directory that's now active unless the file happens to be in it.
One of xyWrite 3's virtues is that it treats you like a grownup. But I once witnessed a reporter's despair after he'd stored a day's work; when he quit xyWrite he discovered the same file open in another window, unthinkingly stored again, then found--you guessed it--he'd overwritten several hours' revises with the first draft. So this one's for you, Charlie: When you try to open a file that's already open in another window, !!! asks for confirmation; if you like, you can open the same file in all nine windows. But if the same file is open in more than one window !!! won't store any till only one copy is open, nor will !!! store *.EXE, *.COM, or other files it suspects of being binary. The binary test is for Ken, who at about the same time--because he was an editor--opened EDITOR.EXE; when he saw what it looks like he stored it. Granted, these features violate xyWrite 3's spirit. Nolo.
As a shutdown/startup manager, !!! optionally provides session-to-session continuity by recording the files open when you quit, and next session reopening the file(s) you were working on where you quit when you quit. ... !!! does more, but for now, enough already.

!B brings under one umbrella most text block operations--defined or assigned blocks (s/gs @[0-9/A-Z])--and adds new options and interactivity. In addition to consolidating familiar procedures, !B takes xyWrite 3 into new territory; e.g., it can overwrite blocked text with text that's on the "clipboard" as gui word processors do, keeping the dominant text on the clipboard. Or embrace a block with «MD??»/«MDNM» codes. Or c/lc a block. Or prefix a block to a file or @s/g in addition to the expected save as or append to same. Or, starting at the cursor position, define and jmp a fixed number of chars--a number you designate, or the most that are safe to remove, or the most xyW can grab to sad or append or prefix, etc. Newest options: !B can embrace a block with «IPn»/«IP» and «CT+»/«EC» deltas, spec'ing the «CT+» for the number of columns you designate and generating a «COn» for each. In all, !B coordinates more than 30 old and new defined and @s/g block operations.

Smart search/search&replace
utility !^v
does--in addition to garden-variety searches and ci/cv's--
crossfile searches and ci's
block ci/cv's
search wildcard_replace with wildcard ci/cv's
Before you tap an !^v se, seb, ci, or cv key, aside from the search or search & replace string itself the only char you need to type is the center delimiter in an s&r: !^v inserts beginning and end delimiters as well as the command.
new! 10 october 2000
!^v ci/cv searches & replaces ordinary strings and search wildcard_replace wildcard strings locally and crossfile, and searches & replaces text blocks
in the displayed file. You read that right: wildcard-in-search-string-and-replace-string s&rs, in either the displayed file or across a directory, and local block s&rs. You can specify text you want to bypass if found by a wildcard and/or a maximum number of chars allowed in a found wildcard string. Considering the module's dubious past, this incarnation works so faultlessly it's kinda spooky at first. xyWrite 3 isn't supposed to do these things. Fear not. You get used to it.
When you tap your !^v search key, !^v detects whether the search is local or crossfile. If crossfile, !^v writes commands to the !OutBack archive to search or s&r a file you open in the crossfile search. To resume the crossfile search--even from an open file or dir listing--just tap the reverse-command-archive key to display the original crossfile search command and tap the !^v se key again.
It must be in there somewhere. !^v's name derives from the original module: If a local se or seb fails, !^v searches the other direction and keeps a jmp bookmark to where you started. Whether the se[b] succeeds or fails, to search the other direction manually tap the same !^v key again without editing the command. (Get it? Searches ^v--up and down.)
new! 10 october 2000
!^v can count the number of times a string occurs in an open file or in each file or selected files in a subdirectory.

Not enough functionality for you? !^v also represents function symbols on the CMline for xpl s&r operations, or if the cursor was in text pfuncs the preceding two chars.
  Most !xyWise et al documentation is of the read-once, implement-and-forget-about-it variety, but !xyWiz is an exception. Now that we're accustomed to html linkage, navigating the big !xyWiz reference seems cumbersome. Therefore, you also can download !xyWiz documentation as an html file (independent of the !xyWise et al package) to surf offline. >- new! 14 february 2001

other editing aids
!CX streamlines use of xyWrite's efficient spellcheck-to/correct-from-a-TMP-file- of-suspicious-words feature.

How much does that unsaved cut reduce your piece's size? How much longer does this revise make it? !CHC  
answers such questions. In addition to on-disk vs displayed lengths, !CHC tells you the current cursor position. When you closed that html file with !!! did you remember to store without eof? Reopen it with !!!, use !chc to compare lengths, and tap !!! exit key: If sizes are the same, then tap the abort key; if disk size is one char longer, tap the zap-eof key. To learn the size of any file without having to switch windows to list its dir, type the name on the CMline and tap your !CHC key. If text is blocked, !CHC reports block char and word counts. To get an overall word count, tap the !xyWise block-whole-file/return-to-original-cursor-position key, then the !CHC key.

!CC deals with case three ways: * supplements default au
* toggles uc and lc
* caps the entire preceding word or paragraph

!EN loops through all files you designate on the CMline to perform on each the procedure you designate from !EN's library, which--on the premise that such operations are usually specialized one-time events--is thin but is structured to accommodate new user-defined modules.

!FIND loops  |< new  4 july 2001  >|  through each of your logical drives searching for the file(s) (wildcards ok) you designate on the CMline and lists all files systemwide that fit the description.

!HO scrolls  |<  new! 10 october 2000  >|  through a displayed file--look, Ma, no hands!--from the cursor position to the end at any of three speeds.

!PATH converts spaces
in a CMline string
to : or \ as appropriate for path operations not incorporated in !xyWiz utilities. Not many. Anytime a !xyWiz pgm needs a path, if you type a pseudopath the pgm autodetects and converts it:
    c perl lib perl5 auto getopt long

!RM renames or moves (if the dos you use supports the command) the displayed file to the name you typed on the CMline and offers to reopen the file under the new name.

!PB helps you shuttle text freely |<  new! 14 february 2001  >| between xyWrite and Windows if you use NoteTab or other freeware that makes a text scrapbook of everything you paste to clipboard in any win9x app. This rewritten-from-scratch !PB is smarter and more versatile than its predecessor (but you still may need to customize !PB--minimally).

!GI opens the displayed file in other apps, including win9x apps, from the xyWrite CMline. (Of course you first must configure !gi with your apps' paths and names.)

!MODES generates a tmp file that's a rainbow of one-line MD (screen color) samples--current MDs, then the modal spectrum with blinking modes buried as deeply as possible, forming a representative preview for learning and/or changing MD defaults that's far more helpful than the Help color chart.

!W manages xyWindows, opening them in various configurations or closing the current window.

!FMT lets you eliminate alignment keys.

!D reports day and date --today's or any other--in a prompt and optionally in text. I tend to think of !D as frivolous, but occasionally it does have a practical use.

Give !NYC an address located on one of many Manhattan north-south thoroughfares and !nyc issues as a prompt the number of a street near the address.

'net assistants
!YET_ANOTHER_TAG_STRIPPER  |<  new! 10 october 2000  >|  strips most html tags but converts iso8859 char entities to ascii and a few tags, including URLs, to xyWrite formatting.

!NOSEE'EM does
three related tasks:
 |<  new! 10 october 2000  >| 
* hides all html tags in «pr»s/
   converts some iso8859 char entities to near-ascii
* undoes the concealment/conversion
* kills the tags it hid

!URLMGR grabs and archives URLs to a file named NEWSITES.HTM that it creates if it didn't exist.

!ISO8859 is a two-way ascii<>ISO-Latin-1 (iso8859-1) char entities converter normally run by !xyWiz pgms like !yet_another_tag_stripper, not directly, but if you use !xyWWWiz, the ascii->iso8859 translation may be quite helpful.

the !xyWiz Web assistant !xyWWWiz,  |< new stuff 4 july 2001  >| 
a collection of modular utilities designed to help you build and maintain your Web site, is described on its own page. See what's new since your last visit.

Compass: The table of contents at the end of each linked page at this site lets you shift laterally to other local pages, get back to the xyWrite and xyW/PostScript index page ("overview"), download the zipped files the docs describe, and explore other resources.


more about  ...

(you are here) !xyWise modular utilities !xyWiz
!xyWiz Web assistant !xyWWWiz & xy/nbWin port
!xyWWWiz html color chart
xyWrite 3+ overlay !xyWise + !OutBack & xy/nbWin port GetBack
xplWise tech reference and instructions
. Make legacy apps eternal: get the NAQ
!T1_TNT: PostScript Type 1 font xyWrite driver tables generator
. xyWrite???
non-xyW kbd notes
xyWin/nbWin notes
Signature+ xpl notes
linuXyW notes
unrelated .EXEs

download ...

  • aw_hec
    readout (<16k)

TTG free kernel upgrades:
> xyWrite 3 (see <overview> notes re autoreplace and login ! )
xyWrite 4--Windows and dos (read FILE.TXT at the link)

adpFisher nyc 4 july 2001