|
| 1 | +.\" All source code and documentation to 'Perfect Emacs' is in the Public |
| 2 | +.\" Domain, as were all the original sources I used. |
| 3 | +.\" -- Hugh Barney,, <[email protected]> |
| 4 | +.\" |
| 5 | +.Dd March 2013 |
| 6 | +.Os Perfect Emacs |
| 7 | +.Dt PE 1 |
| 8 | +.Sh NAME |
| 9 | +.Nm pe |
| 10 | +.Nd pEmacs, Perfect Emacs text editor |
| 11 | +.Sh SYNOPSIS |
| 12 | +.Nm |
| 13 | +.Op Ar |
| 14 | +.Sh DESCRIPTION |
| 15 | +Perfect Emacs as an attempt to find the perfect balance between minimalism |
| 16 | +(ie the smallest functional emacs and code) whilst still retaining |
| 17 | +the feeling of |
| 18 | +.Tn GNU Emacs. |
| 19 | +.sp |
| 20 | +.Pp |
| 21 | +If invoked with no file arguments, the editor creates the |
| 22 | +.Qq *scratch* |
| 23 | +buffer that should be renamed and written to disk |
| 24 | +.Ic ( C-x C-w ) |
| 25 | +if the user intends to preserve the contents. |
| 26 | +.Sh OPTIONS |
| 27 | +\-\-version, Show the current version number and exit. |
| 28 | +.Sh ENVIRONMENT |
| 29 | +.Ev Em TERM |
| 30 | +informs the editor to capabilities of the user's terminal. Also the values of |
| 31 | +.Ev Em TERMCAP , TERMPATH , |
| 32 | +and |
| 33 | +.Ev Em HOME |
| 34 | +must be sane for |
| 35 | +.Xr termcap 5 |
| 36 | +to function properly. |
| 37 | +.Sh FILES |
| 38 | +None, aside from those implied by |
| 39 | +.Xr termcap 5 . |
| 40 | +.Pp |
| 41 | +.Sh DIAGNOSTICS |
| 42 | +.Bl -ohang |
| 43 | +.It Em Unbelievable screen size |
| 44 | +The terminal options (see |
| 45 | +.Xr termios 4 ) |
| 46 | +have undefined column or row size information, and is usually a sign of a |
| 47 | +broken configuration somewhere. A temporary fix on UN*X is to type at the |
| 48 | +shell: |
| 49 | +.Ic stty cols 80 rows 24 |
| 50 | +.It Em Environment variable TERM not defined |
| 51 | +As it says. The majority of users would have TERM = vt100 or |
| 52 | +thereabouts. |
| 53 | +.It Em Insufficient termcap (needs cl & cm abilities) |
| 54 | +Perfect Emacs requires a terminal that can clear the screen and position the cursor. A |
| 55 | +serious system problem if not logged-in via a line-printer. |
| 56 | +.It Em Terminal description too big |
| 57 | +.It Em Can't read terminal capabilities |
| 58 | +.It Em Can't set terminal mode |
| 59 | +.It Em Can't restore terminal flags |
| 60 | +All the above are likely to involve a serious system problem. |
| 61 | +.El |
| 62 | +.Sh KEY BINDINGS |
| 63 | +.nf |
| 64 | +C-A Begining-of-line |
| 65 | +C-B backward-character |
| 66 | +C-C copy-region |
| 67 | +C-D delete-char |
| 68 | +C-E End-of-line |
| 69 | +C-F Forward Character |
| 70 | +C-G Abort |
| 71 | +C-H Backspace |
| 72 | +C-I Tab |
| 73 | +C-J Newline |
| 74 | +C-K Kill to eol |
| 75 | +C-L refresh display |
| 76 | +C-M Carrage Return |
| 77 | +C-N next line |
| 78 | +C-P previous line |
| 79 | +C-Q Quote Chararcter |
| 80 | +C-R Incremenal Search Reverse |
| 81 | +C-S Incremenal Search Forward |
| 82 | +C-V Page Down |
| 83 | +C-W Wipe region (Cut) |
| 84 | +C-X CTRL-X command prefix |
| 85 | +C-Y Yank |
| 86 | + |
| 87 | +M-G gotoline |
| 88 | +M-R query-replace (alias to M-%) |
| 89 | +M-V or [Page Up] Scroll up |
| 90 | +M-W Copy region to kill buffer. |
| 91 | +M-% query-replace |
| 92 | +M-< Start of file |
| 93 | +M-> End of file |
| 94 | + |
| 95 | +^@ or M-<spacebar> Set mark at current position. |
| 96 | + |
| 97 | +^X^C Exit. Any unsaved files will require confirmation. |
| 98 | +^X^F Find file; read into a new buffer created from filename. |
| 99 | +^X^V View File |
| 100 | +^X^Q Toggle View Mode |
| 101 | +^X^S Save current buffer to disk, using the buffer's filename as the name of |
| 102 | +^X^W Write current buffer to disk. Type in a new filename at the prompt to |
| 103 | + |
| 104 | +^X^B Show buffer directory in a window (^X 1 to remove). |
| 105 | +^XK Delete a non-displayed buffer. |
| 106 | +^XX Switch to next buffer in buffer list. |
| 107 | +^X2 Split the current window in two |
| 108 | +^X1 Show only current window |
| 109 | +^XO Move cursor to next window |
| 110 | +^X( Start recording a keyboard macro. Typing ^G or an error aborts. |
| 111 | +^X) Stop recording macro. |
| 112 | +^XE Execute macro. |
| 113 | +^X= Position report; displays line number, buffer size, etc. |
| 114 | +.fi |
| 115 | +.Sh AUTHORS |
| 116 | +Perfect Emacs is derived from Chris Baird's Ersatz Emacs which was |
| 117 | +based on MicroEMACS 3.6 as released to mod.sources and the Public |
| 118 | +Domain by Daniel Lawrence in 1986, which was itself based on the work |
| 119 | +of Steve Wilhite and George Jones to MicroEMACS 2.0 (then also public |
| 120 | +domain) by Dave Conroy. |
| 121 | +.Pp |
| 122 | +Hugh Barney < [email protected]> stripped out most of the features he |
| 123 | +personally never used from Ersatz Emacs, added incremental search, |
| 124 | +filename completion and a buffer menu |
| 125 | +.Ic ( C-x C-b ). |
| 126 | +.Pp |
| 127 | +A designer knows he has achieved perfection not when there is nothing |
| 128 | +left to add, but when there is nothing left to take away. |
| 129 | +.Pp |
| 130 | +.sp |
| 131 | +.sp |
| 132 | +-- Antoine de Saint-Exupery |
| 133 | +.Sh BUGS |
| 134 | +None known. |
| 135 | +.Sh SECURITY CONSIDERATIONS |
| 136 | +As file writes are done |
| 137 | +.Qq over the top of |
| 138 | +the existing file, the file ownership and permission bits are preserved, |
| 139 | +however if an error should occur during a save this may leave a damaged file on |
| 140 | +the filesystem. |
0 commit comments