winkler@harvard.ARPA (Dan Winkler) (04/27/85)
There have been extended debates on info-mac and net.micro.mac over which is better: the simplicity a mouse based editor (like Microsoft Word) or the power of a keyboard based editor (like VI under Unix). Well, I have just used an add-on to Microsoft Word which gives you both. It lets you use all the usual Word features -- you can still use the mouse to make menu choices, select text, and so on -- but you can also enter a mode where your keystrokes are intrepreted as they would be by VI. Now, THIS, is the word you've been waiting for! This hack is amazingly fast. The response is limited mostly by the usual, moderately slow speed of Microsoft Word's screen refreshing. It was written by Mark Stowe at Harvard. He has implemented the following commands, among others, so far: motion commands: w, b, e, ), (, }, h, j, k, l, and synonyms, ^D, ^U, H, L, $, 0, -, <return> operators: y, c, d, Y (select only), others... searching: f, t, / miscellaneous: " buffers, p, P, C, D, I, A, a, i, x, X, s, r special: u, . To quit VI mode and return to using plain Microsoft Word, type ^q. To implement a few more features, Mark needs more documentation on: INIT resources journaling how to make things compatible with the Switcher If you can supply documentation on any of these, please do. Mark's program is written in two layers. The lowest level catches events and (optionally) expands them into arbitrary sequences of events, which could be VI commands. This lets you use macros to generate sequences of VI commands. The next level, is a VI interpreter that executes VI commands using Microsoft Word commands. This is the level that checks to see if you're in insert mode or not, etc. It handles numeric arguments (like 3dw or c2tf). Numeric arguments before macros repeat the particular macro. Mark has also written VI for the tiny Epson HX20 notebook computer. If you're interested in either of these programs, please let me know. Mark will make them available if there's enough interest. Dan. (winkler@harvard)