{"id":16164707,"url":"https://github.com/johnsonjh/cws-ed","last_synced_at":"2025-05-07T18:24:49.944Z","repository":{"id":52851214,"uuid":"353221666","full_name":"johnsonjh/cws-ed","owner":"johnsonjh","description":"cws-ed: ED, a portable EDT look-alike editor, by Rush Record and Charles W. Sandmann","archived":false,"fork":false,"pushed_at":"2021-04-16T12:08:47.000Z","size":373,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T12:58:07.236Z","etag":null,"topics":["c","cws-ed","ed","editor","edt","text-editor","vms"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnsonjh.png","metadata":{"files":{"readme":"README","changelog":"change_case.c","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2021-03-31T04:10:34.000Z","updated_at":"2024-04-27T12:47:20.000Z","dependencies_parsed_at":"2022-08-23T00:00:45.812Z","dependency_job_id":null,"html_url":"https://github.com/johnsonjh/cws-ed","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fcws-ed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fcws-ed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fcws-ed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fcws-ed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnsonjh","download_url":"https://codeload.github.com/johnsonjh/cws-ed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252932616,"owners_count":21827340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cws-ed","ed","editor","edt","text-editor","vms"],"created_at":"2024-10-10T02:47:30.946Z","updated_at":"2025-05-07T18:24:49.906Z","avatar_url":"https://github.com/johnsonjh.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Copyright (C) 1992, 1993 by Rush Record\nCopyright (C) 1993, 1994 by Charles Sandmann (sandmann@clio.rice.edu)\n\nThis file is part of ED.\n\nED is free software; you can redistribute it and/or modify it under the terms\nof the GNU General Public License as published by the Free Software Foundation.\n\nED is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with ED\n(see the file COPYING).  If not, write to the Free Software Foundation, 675\nMass Ave, Cambridge, MA 02139, USA.\n\n-------------------------------------------------------------------------------\nABOUT ED\n-------------------------------------------------------------------------------\n\nED is an EDT look-alike editor that is portable to many platforms. If you use\nEMACS, you'll probably hate it, but it does have some nice features.\n\nED will:\n\no  Let you edit files on other hosts, if you are connected to the Internet.\no  Display many files on the screen simultaneously.\no  Save key definitions and other editor settings on command.\no  Let you mark your spot in a file, and return to it easily.\no  Let you put tab stops wherever you want them.\no  Let you use wildcards in search strings.\no  Let you redefine the keys on your terminal.\no  Let you say things like: ED *.dat, if you want to edit all .dat files.\no  Allow you to teach it how to talk to different terminals.\no  Calculate the value of algebraic expressions that include math functions.\no  Sort a file or a portion of a file.\no  Let you read the network news.\n\nED is free software, see the file COPYING for details.\n\nED is available from riceng.rice.edu, username rhrsoft, password rhrsoft.\n\n-------------------------------------------------------------------------------\nIF BAFFLED\n-------------------------------------------------------------------------------\n\nIf all the wonderful help that appears below fails miserably, which seems not\nunlikely, and your local guru can't get ED running, send e-mail to:\n\n   sandmann@clio.rice.edu\n\nor write to\n\n   Charles Sandmann\n   527 Asheboro\n   Katy, TX  77450\n\nand I'll help if I can.  The known bugs are listed in the file edbugs in\nthis distribution and on the above FTP site.  If in doubt, check the FTP\nsite since edbugs is kept up to date there.\n\n-------------------------------------------------------------------------------\nUNPACKING ED\n-------------------------------------------------------------------------------\n\nIf you are on a VMS system (or any other system with ZIP), you should have a\nzip file called ED-vvv.zip (vvv is the version).  To unpack it, get a copy of\nInfo-ZIP UNZIP 5.0 (or PKUNZIP 2.04g on DOS) and say:\n\n$ unzip ED-vvv.zip\n\nThis will create a subdirectory of your current directory called \"ED-vvv\"\nwhich will contain the needed files.\n\nIf you are on a unixy system, you could have a file called ED-vvv.tar.Z (it\nmight originally be called ED-vvv.taZ, in this case mv it to ED-vvv.tar.Z).  To\nunpack it, create a temporary directory, cd to it, move ED-vvv.tar.Z to it, and\nsay:\n\nuncompress \u003c ED-vvv.tar.Z | tar xf -\n\nIf you are on a unixy system, you could have a file called EDtarvvv.zip.  To\nunpack it, create a temporary directory, cd to it, move EDtarvvv.zip to it.\nYou need either GZIP or Info-Zip UNZIP to extract this file.\n\nFor GZIP, say:\ngunzip \u003c EDtarvvv.gz | tar xf -\n\nFor Info-UnZip, just say:\n\nunzip EDtarvvv.zip\ntar xf ED-vvv.tar\n\nYou should definitely read the COPYING file before you even *think* about\nselling any code that uses ED source in any way. ED is free, but you cannot\nuse any of its source code in any commercial product.\n\n-------------------------------------------------------------------------------\nBUILDING ED ON A UNIX-Y SYSTEM\n-------------------------------------------------------------------------------\n\nTo build ED, you need a compiler for the C language. There are a lot of\ndifferent models around, and we can't guarantee that all of them will build ED\nsuccessfully. To try to minimize the distinctions, you should run a shell\nscript called 'autoconfigure', which tries to understand the situation on your\nmachine.\n\nAutoconfigure creates two files: 'compiler' and 'config.h'. compiler has\nspecifics on how to run the C compiler on your machine. config.h has some\nspecial C code that allows ED to be built on different kinds of hardware.\n\nThere can be problems with using autoconfigure. For example, the NeXT machine\ncomes with a C-library that contains the 'sbrk' function, but it doesn't work\nright.  On some Linux and BSD386 systems, mmap is available but does not seem\nto work properly.  If the compiler built with autoconfigure has compilation\nproblems or does not run correctly (indicates the file is empty when you\nknow it isn't) try running configure or specifying \"#define NO_MMAP\" and\n\"#define NO_SBRK\" in the config.h file.  If you want to use 8-bit character\ndisplay (for national character sets, for example) you need to add the\nline \"#define USE_NCS\" to your config.h file.  If you compile in a POSIX\nenvironment you will also need to \"#define NO_TERMSIZE\", and potentially\nCUSERID_ENV if cuserid() is not in the library.  In any case, if autoconfigure\ndoesn't work right for your system, let me know and I will try to fix\nit in the next release.\n\nOnce you have successfully run autoconfigure (or configure, if that's\nappropriate), you need to run make (gmake for BSD386 systems). On Solaris 2.x\nsystems use the command \"make -f makefile.solaris2\".  Make will compile\nall the .c files and build a file called 'a.out', which is the ED executable\nprogram. Once you have built the program you should create a directory to hold\nthe program and some other files (or move it to a standard shared location such\nas /usr/local/bin). Move the program (you can call it what you like, perhaps\n\"ed\" would be a good idea), *.ed, ed.setup and ed.hlp to that directory:\n\nmkdir ~/ED\nmv a.out ~/ED/ed\ncp load.key *.ed ed.setup ed.hlp ~/ED\n\nNote: if you cp a.out instead, remember to chmod 755 ~/ED/ed !\n\nAt this point you should review the files in the set_size subdirectory.  These\nfiles help you set up the terminal size information and setting up aliases\nfor the editor.  You may also need to link vt100.ed or vt200.ed to different\nfile names for use with different TERM variables that behave as a superset of\nthese terminals (ie vt220.ed, vt320.ed, etc).\n\nIf you have a local directory for man pages, you may want to move ED.1 into\nthat directory so there will be man support for ED.\n\n-------------------------------------------------------------------------------\nBUILDING ED ON A VMS SYSTEM\n-------------------------------------------------------------------------------\n\nFirst of all, your VAX must have a C compiler. You can say HELP CC to determine\nwhether you do. If no help is available, you probably don't. In that case, you\nshould either find a system that has one or buy one.  If all else fails,\ncontact us to get a binary (olb or exe) distribution.\n\nVMS systems don't have unix-style networking by default - you have to buy\nsoftware from a third party to enable it. And, of course, these manufacturers\npay no attention whatever to one another, with the result that the programmer's\ninterface varies somewhat from one manufacturer to another. We currently\nsupport the networking of three manufacturers: WOLLONGONG, MULTINET and UCX. If\nyou have another variety, you'll have to provide us with either documentation\nfor it, or access to your system so we can get it up and running.\n\nWhat all this is leading up to is that you need to run a command procedure\ncalled MAKE.VMS. This procedure calls another procedure (CONFIGURE.COM), which\ndetermines which kind of networking you have, and a few other details for the C\ncompiler. CONFIGURE.COM creates two files: 'config.h', which has information\nthe C compiler uses, and 'vmslink.com', which is the command procedure that\nruns the linker when ED is being built.  Unless you have a Vax 4000 series\nmachine, I suggest you submit make.vms as a batch job.\n\nWhen CONFIGURE.COM completes, MAKE.VMS tries to compile and build ED. If no\nnasty error messages appear, it probably worked. Now decide where you want\nthe ED files to live and move them there:\n\n$ CREATE/DIRECTORY SYS$LOGIN:[ED]\n$ COPY ED.EXE,*.ED,ED.HLP,LOAD.KEY SYS$LOGIN:[ED]\n$ COPY ED.SETUP-VMS SYS$LOGIN:[ED]ED.SETUP\n\n-------------------------------------------------------------------------------\nBUILDING ED ON A DOS LIKE SYSTEM\n-------------------------------------------------------------------------------\n\nFirst of all, a DOS PC must have the GCC port to DOS, DJGPP.  Version 1.10 or\nlater is required to run under Windows or an OS/2 DOS session.  You will also\nneed the event library from LIBGRX for the keyboard handling (or define the\nsymbol NO_EVENTS when compiling TTYPUT.C).  A binary distribution for DOS is\nalso available.  There is currently not a TCP/IP package that works with DJGPP,\nso the FTP and NEWS functions are disabled.\n\nTo build the image you execute MAKE_DOS.BAT (which creates config.h and runs\nthe compiler).  You may want to edit this file to change the coff2exe binding\nstep (if you would rather stub the image with the extender).\n\nTo build ED under NT, you need the Microsoft SDK.  It is as simple as saying\n\"nmake -f makefile.nt\" if you unpacked the files on a FAT partition.  If you\nare using HPFS or NTFS, you will need to fix the makefile to reflect the\nlonger file names.  A binary distribution is available if you don't want to\nbother or don't have the SDK.  The NT distribution has FTP file editing\nenabled but does not currently support NEWS.\n\nAn fully prototyped version of ED has also been built with BORLAND C, but it\nis limited to 32 Kbyte files and not very suitable for real work.  So far\neveryone I know has 386+ systems so noone thinks it's worth the effort to fix.\n\nNative OS/2 versions have also been built with GCC/2, but it is not as easy,\nsince you have to link to the KBD and VIO routines.  Contact us for more\ninstructions for building the OS/2 native version.\n\n-------------------------------------------------------------------------------\nFILES ED USES\n-------------------------------------------------------------------------------\n\nED uses four auxiliary files, which are ordinary text files (whatever that\nmeans on your platform). They are:\n\n  1) Your editor setup file, usually called ~/ed.setup (or SYS$LOGIN:ED.SETUP\n     on VMS systems). If you invoke ED and it cannot open the setup file, it\n     copies it from the directory that contains the ED program itself. You must\n     specify the name of your startup file on the command line when you run ED.\n  2) Your journal file, which is specified in your setup file. Typically it's\n     called ~/ed.jou (or SYS$LOGIN:ED.JOU on VMS systems).\n  3) Your terminal description file, whose name depends on what kind of term-\n     inal or terminal emulator you are using. Several examples come with the\n     program. You specify the terminal file on the command line when you run\n     ED. If you don't know what kind of terminal you have, try the vt100.ed\n     file. (Note that ED can create new description files for you if you use\n     the -z command-line option.)\n  4) The editor help file, called ed.hlp. This file should be in the same\n     directory as the executable program.\n\n-------------------------------------------------------------------------------\nHOW TO GET ED RUNNING\n-------------------------------------------------------------------------------\n\nThere are some files in the set_size subdirectory which contain example\ncode for inclusion in csh and ksh startup files for defining an alias\nunder unix systems.  There is also a program which helps to make sure\nthe terminal size is set properly.\n\nFirst, define an alias (VMS users: symbol) to run the editor. I do this as\nfollows on unix systems (assuming directory name you used above was ED or\n/usr/local/bin and the program was ed).\n\nwith the csh shell (depending on your setup):\n\nalias ed '~/ED/ed ~/ED/$TERM.ed ~/ed.setup `stty size`'\nalias ed '/usr/local/bin/ed /usr/local/bin/$TERM.ed ~/ed.setup 0 0'\n\nor with the Korn shell:\n\nalias ed='/usr/local/bin/ed /usr/local/bin/${TERM}.ed ~/ed.setup 0 0'\n\nThe rows and columns sizing parameters are such that they can be set using\nthe `stty size` command, or the editor internally tries to determine these\nvalues if 0 0 are specified.  For some shells you may not be able to create\nan alias, and you may need to create a command script with this information.\n\nNote:  Some systems (IRIX) do not support the \"stty size\" command.\nFor these systems you may be able to use the C shell command:\n  eval `resize`\nThis defines the variables LINES, and COLUMNS, then define the C shell alias:\n  alias ed '~/ED/ed ~/ED/$TERM.ed ~/ed.setup $LINES $COLUMNS'\n\nThen, to edit file.name, I say ed file.name.\n\nOn VMS I use something like the following (note that this assumes you put all\nof ED's files in your home directory):\n\n$ Ed:==$SYS$LOGIN:ED SYS$LOGIN:VAXSTATION.ED SYS$LOGIN:ED.SETUP 0 0\n\nNote that you can say things like:\n\ned file1.dat a*.b x.y xyzzy.tmp *.c\n\nand all the named files will be loaded by ED, one after the other.\n\nThe ed.setup file enables some non-EDT extensions you might not like.  If you\nwant close EDT emulation until you learn to love the extensions, use edt.setup.\n\nMany popular defined keys are defined in the file load.key.  For example:\n GOLD-O : open a new file window\n GOLD-M : switch to other file window\n GOLD-C : close current file window\n GOLD-S : create a system/subprocess/DCL window (also GOLD-D)\n GOLD-B : toggle the box cut paste mode\n GOLD-X : calculate expression on current line and paste it into line\n CTRL-A : toggle insert/overstrike mode\n CTRL-B : make current window one line bigger\nYou may modify this file (maybe merge it with your own command key file\ncreated with the \"unload\" command) and then issue the command \"load load.key\".\nAt this point the keys defined in a volatile state.  To save them permanently,\nissue the command \"store keys\", which puts them in your ed.setup file.\n\n-------------------------------------------------------------------------------\nWHY IT DIDN'T WORK\n-------------------------------------------------------------------------------\n\nED is supposed to spit out informative error messages if something's wrong when\nyou try to run it. The main things that can go wrong are:\n\n1) You specified the terminal file or setup file wrong. Be sure that TERM is\n   defined in your environment if you're on a unix system (if you're using the\n   above alias).\n2) You don't have write access to the directory where ED wants to put the\n   ed.setup file. This is unlikely, unless you really don't have write access\n   to your home directory.\n3) You don't have write access to the directory where ED wants to put the\n   journal file. You can fix this by changing the first line of your ed.setup\n   file to point to a directory you have write access to.\n4) You specified the terminal rows and columns incorrectly. On most systems,\n   you can specify them both as zero to get a reasonable default behavior.\n\n-------------------------------------------------------------------------------\nDIRECTORY BROWSING\n-------------------------------------------------------------------------------\n\nIf you specify the name of a directory, instead of a file, ED enters 'diredit\nmode.' In this mode, ED lists the files in the named directory (along with some\ndetails about each file). To view a file, move the cursor to it and press the\n'a' key (or the 'b' key, if you want to look at it in binary mode). You can hit\n'a' on \"..\" (or \"[-]\" under VMS) to move up one level in the directory\nhierarchy.\n\n-------------------------------------------------------------------------------\nUSING ED ON THE INTERNET\n-------------------------------------------------------------------------------\n\nIf your workstation is connected to the Internet, ED can open files and\ndirectories on other computers. You do this by using the following syntax:\n\n/host.domain:/dir1/dir2.../dirn/file\n\nor\n\n/user@host.domain:/dir1/dir2.../dirn/file\n\nIf you use the first form, ED tries to connect with the username \"anonymous\"\nand passes your username and host as the password. If you use the second form,\nED prompts you to enter a password. If you leave off the directories, ED puts\nyou in the top level directory, \"/\" (or \"[000000]\" on VMS).\n\nFrom within ED, you can hit ^Z and say 'help ftp' to get more complete\ninformation about using ED in the internet.\n\n-------------------------------------------------------------------------------\nWHAT'S EDT?\n-------------------------------------------------------------------------------\n\nIf you don't know how to use EDT, well, you have much to learn in order to use\nED. Unlike EMACS, ED uses the keypad (at the right end of the keyboard) to do\neverything. Some keys move the cursor, some kill (delete) text from the file,\nsome insert previously killed text into the file. You can, from within ED, hit\ncontrol-Z and say HELP KEYPAD to get more information, but it isn't a very good\nway to learn it all.\n\nIf I still haven't discouraged you, here's a brief description. (The expression\n[x] means keypad key x. This description assumes a VT100-style keypad.)\n\nMOVING THE CURSOR\n\nIf your keyboard has arrow keys, you can use those to move around. If not, the\n[0], [1], [2], [3], [7] and [8] keys move you around as follows:\n\n1) All these keys understand a 'direction' of motion that you can change with\nthe [4] and [5] keys. When you first get into ED, you are 'going forward,' and\npressing any movement key moves the cursor forward in the file. The [5] key\nchanges the direction to 'going backward,' which means the same keys now move\nyou backward through the file. The [4] key can set you going forward again.\n\n2) The [3] key moves one character at a time.\n\n3) The [1] key move one word at a time.\n\n4) The [2] key moves to the end of a line.\n\n5) The [0] key moves to the beginning of a line.\n\n6) The [7] key moves to a page boundary.\n\n7) The [8] key moves one 'section' of lines (default: 18 lines).\n\nKILLING TEXT\n\nWhenever you kill text in ED, the killed text goes into an internal buffer,\nfrom which you can generally retrieve it later on. There are four such buffers:\n\no  the CHAR buffer holds one character, and it gets loaded when you use the\n   DELETE key or the [,] key.\no  the WORD buffer holds one 'word' (which may be arbitrarily long) and gets\n   loaded when you use the ^J key or the [-] key.\no  the LINE buffer holds one 'line' (which may be arbitrarily long) and gets\n   loaded when you use the [PF4] key or the [PF1]-[2] combination.\no  the PASTE buffer holds any arbitrary chunk of text (possibly many lines) and\n   gets loaded when you use the [6] key.\n\nFor each buffer, there are keystroke combinations that cause ED to insert the\ncontents of the buffer into the file at the cursor position. More about that\nlater, first the keys that kill:\n\n1) The Delete key kills the character to the left of the cursor.\n\n2) The [,] key kills the single character the cursor is on.\n\n3) The [-] key kills from the cursor to the beginning of the next word.\n\n4) The [PF4] key kills from the cursor to the end of the current line,\nincluding the end of the line itself.\n\n5) The [6] key kills the 'select range,' which is an arbitrary area in the file\nthat you define using the 'select marker.' This works as follows:\n\n   a) You press the [.] key. This puts the select marker at the cursor\n   position.\n\n   b) You move the cursor somewhere else.\n\n   c) You press [6] to kill everything from the cursor to the marker.\n\nThe [6] key will also kill the search string, if the cursor is currently\nsitting on the search string. See FINDING STRINGS below for more about the\nsearch string.\n\nUNKILLING TEXT\n\nTo insert text, you just type. There is an 'overstrike' mode, but it is not\nenabled by default. The Delete key lets you back up. The [,], [-] and [PF4]\nkeys save the text they kill in buffers that you can later 'unkill,' or insert,\ninto the file. You do this by pressing the [PF1] key (also called the GOLD key)\nand then pressing [,], [-] or [PF4]. Similarly, pressing GOLD [6] unkills\nwhatever you last killed with the [6] key. This is how you move big blocks of\ntext around.\n\nPressing [PF2] immediately before killing something causes what would be killed\nto be copied to the appropriate buffer, without actually removing the text from\nthe file.\n\nNote that ^J (otherwise known as 'delete previous word') loads what it kills\ninto the WORD buffer (the same one [-] kills into). Also, [PF1]-[2] (otherwise\nknown as 'delete to end of line') kills into the LINE buffer (the same one [PF4]\nkills into).\n\nREPEAT COUNTS\n\nAny keystroke can be issued to ED with a 'repeat count,' which, in effect,\nmakes it as if you had pressed the key many times. You enter a repeat count by\npressing GOLD, then typing in a number, then pressing a key (or a GOLD-key\ncombination). For example, to insert 27 'a' characters, you would press GOLD,\ntype 27 (on the main keyboard), and press a.\n\nFINDING STRINGS\n\nTo search for a string, press GOLD [PF3]. ED will prompt you for a search\nstring. Type something in, and press [4] to search forward or [5] to search\nbackward. It beeps if the string is not found. If it does find the string, it\nmoves the cursor there. To find the next occurrence of the string (in the\ncurrent direction) just press [PF3]. See the SET SEARCH help topic for more\nabout searching.\n\nSAVING CHANGES\n\nTo save your changes, press control-Z to get into command mode, and say E and\nhit RETURN. The file is updated on disk, and you get a prompt for another file\nname. To get out of ED completely, just hit RETURN one more time.\n\nTo get out of a file without saving changes, type control-Z and say Q and hit\nRETURN. All your changes are thrown away.\n\nMULTI-WINDOW EDITING\n\nED lets you open 'windows' into other files while you're editing. To do this:\n\n1) Press GOLD [PF2]. You get a prompt that says Open,Close,Move,Spawn\u003e. Say O\nand hit RETURN.\n\n2) Enter a file name and press RETURN. The screen splits and you get popped\ninto the file you named.\n\n3) To move between windows, say GOLD [PF2] and say M and hit RETURN. The cursor\nmoves to the other window. You can have as many windows as you like. You can\nsay ML (meaning, Move Last) instead of M to move to the window above the\ncurrent window, or MN (for Move Next) to move to the one below. Similarly, you\ncan say MNN to move two windows down, etc.\n\n4) To close a window, say GOLD [PF2] and say C and hit RETURN. The window the\ncursor is in is closed. You cannot close the main window. You can say CN or CL\nto close the window below or above.\n\n5) To create a window with another process (so you can do directories etc) say\nGOLD [PF2] and say S and hit RETURN. Log out of this window to close it. On VMS\nsystems, you can use the ATTACH command to return to ED, leaving the process\nwindow on the screen. You can then move back into the process window, and it\nwill return you to the still-waiting process.\n\n6) To update a file you windowed into, move the cursor into the window, say\ncontrol-Z, and type W (meaning, WRITE) and hit RETURN. The contents of the\nwindow are written to disk. You can say W filename to write the window to a\nspecific file.\n\nDEFINING KEYS\n\nBy all means, read the help topic 'defining_keys' in the online help. You can\ndefine keys in ED very easily, and the key definition can include *any* editor\ncommands. You can, for example, say e *.c, and when the first .c file comes up,\nyou can define a key that does some edits and then does control-Z and EXIT.\nAt this point (in the second .c file) you terminate the key definition. Now\nwhen you press the defined key, it edits one more file and pops you into the\nnext one. You could now enter a huge repeat count and press the defined key,\nand the edits would be performed on all the remaining .c files. When there are\nno more .c files (or the edits fail for some reason), the defined key stops.\n\nOnce you have defined some keys, you can store them in your setup file, using\nthe STORE command. Once you do this, the key definitions become part of your\nsetup, so you don't have to define them any more - ED just comes up with them\nalready defined.\n\nMORE HELP\n\nThere is an online help facility built into ED. To get into it, press control-Z\nand say H and hit RETURN. A list of topics appears. Type the name of a topic to\nget more information, or hit RETURN to work your way back up one level. You can\nabbreviate topic names. A list of important topics:\n\nSHOW - shows editor settings.\nSET - sets editor settings.\nSTORE - saves editor settings and key definitions in your setup file.\nRESTORE - restores editor settings and key definitions from your setup file.\nrecovery - how to recover edits from the journal file (after a crash).\nrecall_commands - describes command recall.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonjh%2Fcws-ed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnsonjh%2Fcws-ed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonjh%2Fcws-ed/lists"}