EKIZ 1.0 (BETA VERSION) USER DOCUMENTATION Author: Jose Solorzano Last update: 12/15/94 ============================================================================ TABLE OF CONTENTS 1. What is EKIZ? 2. What should I have in order to run EKIZ? 3. The application environment 3.1. Why is this a good idea? 3.2. What are some of the hot-key commands? 3.3. The "shell command" item. 3.4. Planned improvements. 4. The editor 4.1. How do I start? 4.2. What are some of the hot-key commands? 4.3. How do you handle blocks of text? 4.4. What is the Clipboard? 4.5. Alternative Operations. 4.6. Planned improvements 5. Future goals 6. Is EKIZ free? 7. Bug reports. 8. Contacting the author. ============================================================================ 1. What is EKIZ? EKIZ is a visual editor developed for unix-like plataforms with a vt100 interface. However, it has only been tested on Ultrix, SunOS and DOS. It will be released to the public domain in December 1994. The current version is in Beta testing stage, so you may want to contact me to check the latest bug fixes (refer to part 8). The initial purpose of EKIZ is to serve all those people who get frustrated with powerful editors (e.g. emacs and vi) that are not friendly to the casual user; EKIZ will try to provide a robust set of utilities, such as: being able to edit several files at the same time on different windows, perform searches with various options, move text within each window and between windows, handle blocks of text flexibly, and many others; everything in one small program. I would have liked to realease EKIZ with a good help utility but I'm leaving the country in a week (!) and will spend the rest of my time testing what I have. I might not be back in the US for at least a year, but I will try to update EKIZ versions in the internet (well, at least DOS versions, that's for sure). If you are a power user, EKIZ might not be the tool you would like to use... yet. In future versions, I will try to implement all those things you guys enjoy: script languages, regular expressions, and whatever suggestion you may have, even if it's something nobody has ever seen in an editor. Refer to part 8 if you'd like to contact me. As to why I haven't provided the source code with the package, that's mainly because it isn't properly documented yet and not fully portable to most unix-like environments. I will release the source code eventually; and I will give it to anyone who is willing to port EKIZ to other plataforms (like VMS). 2. What should I do/have in order to run EKIZ? If you were able to get this file, it must mean that you already have the program. If this is not correct, you can download it through FTP from the following sites: oak.oakland.edu sunsite.unc.edu If you don't have FTP access, refer to part 8 and try to contact me. I'll do my best to try to help you. The file you will download will either be: 1) ekiz1.0B.sun.tar.Z 2) ekiz1.0B.ultrix.tar.Z 3) ekiz10B.zip Of course you have already done this, but here it goes anyway: if your system is a SunOS or Ultrix, you can install ekiz right from your $home directory. Just type compress -d ekiz1.0B.sun.tar and then: tar xvf ekiz1.0B.sun.tar That's all. You should find all of EKIZ' files inside the newly-created 'ekiz' directory. If you are installing the DOS version, you must create a new directory for EKIZ, copy the ZIPed file into it, and then use PKUNZIP to uncompress it. This manual refers mostly to the SunOS/Ultrix versions, but I've placed some DOS indications in brackets. I should also point out that in order to run the program you need a VT100-type terminal. If an error message appears as soon as you try to run EKIZ, indicating that the type of your terminal has not been recognized, make sure that it does have VT100 capabilities. Then type the following from the shell prompt: set term=vt100 Communication from your terminal to the system should be as efficient as possible. I would not recommend running EKIZ on a 2400 baud connection, for instance. You can, but it will be frustrating. For those of you connecting to a server from home through Telix, I've observed a problem with that communications program. Basically, moving the cursor to the left while editing a file causes a character to disappear from the screen. I've noticed this bug in Telix 3.2, but I don't know if it applies to all versions of Telix (or even to all modems/PCs). You can refresh the screen contents in EKIZ by pressing Ctrl-L. I've also noticed similar strange screen behavior with emacs on Telix. If somebody has ideas about getting around this problem, let me know. (Pico, for instance, does not behave this way with Telix.) [UPDATE 12/15/94: I recently checked Telix again, and it turns out that you can modify one of the options (H) inside the "Terminal Options" setup so that "backspace is not destructive." Whatever that means, it solves the apparent problem. In some cases, however, the screen might still get some ascii garbage; press Ctrl-L if that happens.] 3. The Application Environment EKIZ is based on modern Interactive Interface concepts, such as pull-down menus, multiple windows, a clipboard, dialog windows, and so on. Besides from the menu options, several hot-key combinations are also useful. The status line at the bottom of the screen can be of help to check available key combinations for certain operations. Since the main purpose is to provide a better VT100 application environment (for people who only have that type of access to a system), no pointing device use is possible at this time in non-DOS versions. (If VT100s with mice are common, then I might port my mouse modules to Ultrix and SunOS... I just need to know how to do it, and some way to be able to test it). 3.1. Why is this a good idea? In the case of an editor, such an environment can make it easier for a user to edit several files at the same time, transfer text between them, and so on. Furthermore, a pull-down menu can be used to learn some of the editor commands at your own pace, without reading manuals (who reads manuals anyway, right?) Advantages will become evident as you experience EKIZ. 3.2. What are some of the hot-key commands? (Refer to 4.2 for Editor commands.) Ctrl-O Open File [DOS: F3] It opens a directory window. In it you can browse thru system files. You can also specify a file name directly at the prompt on top of the directory window. Wildcard characters (? and *) can help you find any particular file. PF3 Open File (same as Ctrl-O) Ctrl-W Save File [DOS: F2] This can be considered an editor command (4.2), but in reality the application takes care of it. (The reason is unimportant, but basically it's because I wanted the pull-down menu to handle this operation too.) An editor window must be open for this command to take effect. Ctrl-C Close Window [DOS: Alt-F3] Closes the current active window. Ctrl-N Next Window [DOS: F6] It activates the window that's just behind the current one. Ctrl-P Previous Window [DOS: Alt-F6] Similar to "Next Window" except that you obtain the window at the very bottom of the application environment. Ctrl-L Refresh [Not available in DOS] It refreshes the screen. It's used, for instance, when you receive an e-mail message on your screen or a talk request; i.e., when you want to clean up ascii garbage that messes up your view. Ctrl-X Exit program [DOS: Alt-X] Ctrl-A Pull-down Menu [DOS: F10] Starts pull-down menu mode. In this mode, you can use the following keys: Esc Return to top window operations (if there is a window) -> Move to the menu on the right (or first menu) <- Move to the menu on the left (or last menu) Return If on long menu bar, pull down menu window; if already in menu, pick option Down From long menu bar, pull down menu window 3.3. The "shell command" item. By picking "Shell Command" from the first pull down menu, you will be allowed to issue commands to the your SunOS/Ultrix/DOS shell. You can run just about any program, but be careful with some terminals when you run a different editor from within EKIZ or other terminal-intensive programs. (In SunOS, running telnet may cause all special characters to become normal, and special hot-keys will stop responding; if this happens, press Ctrl-X, save your files, and start over -- it doesn't always happen; try it once for your terminal, and if it does happen, you will know that it's not advisable to do a telnet from within EKIZ). 3.4. Planned improvements. It seems that an on-line help utility will not be available for this first release. But it's the first thing on my mind in terms of improvements to the environment. Other planned improvements include: more application options, dragging windows, resizing windows, and a script language (so I can start to compete with so-called power editors). 4. The editor 4.1. How do I start? To activate one editor window, you can either pick the menu option "Editor/Open," press Ctrl-O, or PF3. You can open several editor windows. To switch between windows, press Ctrl-N or Ctrl-P. If you desire to close one of the windows, press Ctrl-C. To save the file, press Ctrl-W. Refer to 3.2 for other environment commands. 4.2. What are some of the keyboard commands? Ctrl-] Delete character under cursor [DOS: Del] Back Delete character left of cursor Ctrl-B Start block mode (refer to 4.3) Ctrl-E End of line [DOS: End] Ctrl-D Beginning of line [DOS: Home] Ctrl-K Delete line Ctrl-U Undelete line Ctrl-V Page down [DOS: Page Up] Ctrl-Y Page up [DOS: Page Down] Ctrl-T Alternative operations (refer to 4.4) (Ctrl-W [F2] saves each file and Ctrl-C [Alt-F3] closes each window -- these are environment operations and are described in 3.2.) 4.3. How do you handle blocks of text? Every editor window in EKIZ currently has three modes of operation: standard (4.2), block mode (4.3), and alternative mode (4.5). From standard mode, you can press Ctrl-B and enter block mode. While in block mode, pressing any key will take you back to standard mode. Keys accepted in block mode are the following: B Mark beginning of block E Mark end of block H Hide block C Copy block V Move block D Delete block T Extract (to clipboard) K Cut (delete block and extract to clipboard) G Paste (from clipboard) I Indent block U Unindent block To take an example, suppose you want to mark a piece of text and then copy it somewhere else in your file. These are the steps you have to take: 1. Move to the beginning of the block you desire to copy. 2. Press Ctrl-B. 3. After realeasing the keyboard you should see a different status line with different hot-key indications. 4. Press B (Mark Beginning of Block). 5. You are now back in standard mode of operation. Move to the end of the block you desire to copy. 6. Press Ctrl-B, realease, and then press E. 7. The block should appear blocked with highlighted text. 8. Go to the place in the file where you want to copy the block of text. 9. Press Ctr-B, realease, and then press C. 4.4. What is the Clipboard? The clipboard is nothing more than a hidden editor window. You can open it by choosing "Edit/Clipboard" from the pull-down menu. Every marked block of text (4.3) you extract (^BT) or cut (^BK) will go into the clipboard window and will be blocked. The clipboard will only block the most recent extraction or cut. If you wish to perform two or more extractions or cuts, and use them together later, you have to open the Clipboard window and use the procedures explained in 4.3. 4.5. Alternative operations This is analogous to block mode (4.3). While in standard mode, pressing Ctrl-T will start alternative mode. Once in alternative mode, pressing any key will take you back to standard mode. The keys handled in alternative mode are: T Go to the top of the document B Go to the end of document F Find string of characters R Find and replace string of characters (not yet available) T Toggle position (line and column) indicator G Toggle scroll mode (normal or long-jump). K Toggle insert mode (insert/type over). 4.5. Planned improvements Each editor window will allow for dragging and resizing. I plan to use something like a script interpreter in order to have a command-line alternative for power users. I will implement a capability that will let you match parenthesis and brackets, which is useful particularly for lisp programming. If the current arquitecture of the program permits, I will install a powerful "undo" capability. I will also implement regular expression processing. Also spell checking, justification, wrapping and so on. 5. Future goals I have several ideas that could improve EKIZ and end up in a different software package. Since I can't do all of these, my decision will be based on user input: - A new mail utility.- It would let you edit several different messages at the same time, while also reading several different messages; you could transfer text between messages and you could also edit files, postpone any number of messages, send to user-defined mailing lists, and so on. - Word processor. - Integrated development environment.- The system would allow you to define what compiler to use, what the format of its output is, and you would be able to compile your programs with the press of a key; the system would allow you instant access to the line numbers where certain compiler errors occurred, and maybe even debug them. - IRC.- An IRC client in which you would have one window open per channel. - Alternative to TALK.- You could open many talk sessions at the same time with only one terminal. The remote user would be allowed to handle his/her part of the window as though it were a remote complete editor (just like EKIZ, but for talking to someone else.) You could read in files from the system and transfer them automatically to the other party. - Portability.- So far I have only been able to get EKIZ to work on SunOs, Ultrix and DOS, since I need a c++ compiler and I've only been able to use one in those three systems. Let me know if you are interested in porting EKIZ to other plataforms (VMS would be great). 6. Is EKIZ free? In a way, yes. I don't think I want to charge money for a product that could be considered incomplete and in Beta testing stage. However, any contribution that will help this economically challenged programmer keep developing future versions of EKIZ and other programs, is more than welcome. Refer to part 8 if you'd like to find out how to contact me. 7. Bug reports. If you find a bug in EKIZ, I would really like to hear from you. Please send an e-mail message to the following two addresses (I still don't know how I will read my e-mail from abroad, but I will try) : jhsolorz@wsuhub.uc.twsu.edu hsolorza@sis.poli.edu.ec You should tell me how the error occured, and wether you can reproduce it. If some specific type of file is needed, then please send me the file when possible. Let me know if you have any hypothesis as to what may be causing it to fail. If you were editing a file when a fatal error occured (one that aborts EKIZ), there must have been a backup created in your working directory. Search files with extension ".#". 8. Contacting the author. I'll be leaving the US after December 14, 1994. It might be somewhat difficult to reach me after that date, but here's my address abroad anyway: Jose Solorzano JOSE PUERTA 212 Y ELOY ALFARO QUITO - ECUADOR (South America) phone : +593-2-241-985 (aprox. $1.20 / min from US) e-mail: hsolorza@sis.poli.edu.ec jhsolorz@wsuhub.uc.twsu.edu (available for a while) I would like to hear from you concerning suggestions for improvement, bugs, suggestions for other software packages, questions, and so on. Any type of support, economic or otherwise, will be highly appreciated.