|
|
1.1 ! root 1: Advantages of Gosling Emacs: ! 2: ! 3: 1. The program itself is much smaller. ! 4: GNU Emacs uses about 250k more pure storage. ! 5: As a result, Gosling Emacs can run on machines ! 6: that cannot run GNU Emacs. There is not much difference ! 7: in the amount of impure storage in the two programs. ! 8: ! 9: 2. In some versions there is support for other forks to ! 10: establish communications channels to Emacs (using sockets?). ! 11: ! 12: 3. There is a direct interface to dbm (data bases). ! 13: ! 14: ! 15: Advantages of GNU Emacs: ! 16: ! 17: * True Lisp, not Mocklisp. ! 18: ! 19: GNU Emacs's extension language has real symbols, lists ! 20: and vectors. Many extensions are much simpler, and some ! 21: become possible that were nearly impossible in Gosling Emacs. ! 22: Many primitives can have cleaner interfaces, and some features ! 23: need not be put in as special primitives because you can do ! 24: them easily yourself. ! 25: ! 26: * But Mocklisp still works. ! 27: ! 28: An automatic conversion package plus a run-time library ! 29: allows you to convert a Mocklisp library into a Lisp library. ! 30: ! 31: * Commands are better crafted. ! 32: ! 33: For example, nearly every editing function for which a ! 34: numeric argument would make sense as a repeat count does ! 35: accept a repeat count, and does handle a negative argument ! 36: in the way you would expect. ! 37: ! 38: * The manual is clearer. ! 39: ! 40: Everyone tells me it is a very good manual. ! 41: ! 42: * Better on-line documentation. ! 43: ! 44: Both functions and variables have documentation strings that ! 45: describe exactly how to use them. ! 46: ! 47: * C mode is smart. ! 48: ! 49: It really knows how to indent each line correctly, ! 50: for most popular indentation styles. (Some variables ! 51: control which style is used.) ! 52: ! 53: * Compatible with PDP-10 Emacs, Multics Emacs and Zmacs. ! 54: ! 55: The commands in GNU Emacs are nearly the same as in the ! 56: original Emacs and the other Emacses which imitated it. ! 57: (A few have been changed to fit the Unix environment better.) ! 58: ! 59: * Side-by-side windows. ! 60: ! 61: You can split a GNU Emacs window either horizontally or ! 62: vertically. ! 63: ! 64: * Redisplay is faster. ! 65: ! 66: GNU Emacs sends about the same stuff to the terminal that ! 67: Gosling's does, but GNU Emacs uses much less CPU time to ! 68: decide what to do. ! 69: ! 70: * Entirely termcap-driven. ! 71: ! 72: GNU Emacs has nearly no special code for any terminal type. Various ! 73: new termcap strings make it possible to handle all terminals nearly as ! 74: fast as they could be handled by special-case code. ! 75: ! 76: * Display-hiding features. ! 77: ! 78: For example, Outline Mode makes it possible for you to edit ! 79: an outline, making entire sub-branches of the outline visible ! 80: or invisible when you wish. ! 81: ! 82: * You can interrupt with Control-G. ! 83: ! 84: Even a looping Lisp program can be stopped this way. ! 85: And even a loop in C code does not stop you from killing ! 86: Emacs and getting back to your shell. ! 87: ! 88: * Per-buffer Undo. ! 89: ! 90: You can undo the last several changes, in each buffer ! 91: independently. ! 92: ! 93: * The editor code itself is clean. ! 94: ! 95: Many people have remarked on how much they enjoy reading ! 96: the code for GNU Emacs. ! 97: ! 98: ! 99: One other note: The program etc/cvtmail that comes with GNU Emacs can ! 100: be used to convert a mail directory for Gosling Emacs's Rmail into a ! 101: Unix mail file that you could read into GNU Emacs's Rmail. ! 102: ! 103: ! 104: A detailed comparison by Rodney Zykowitz ([email protected]) ! 105: ! 106: Enclosed are two difference listings. The first one is a cross-reference ! 107: by Key bindings. The second is by alphabetized function name. ! 108: Only those functions normally bound to keys in a ! 109: "standard" version are included. As far as I know it excludes ! 110: bindings added here locally (but what do I know...) ! 111: ! 112: The Gosling's is version 2.02 and runs on VMS 4.2. The Gnu is ! 113: version 16.56.1 running under Ultrix 1.1. ! 114: ! 115: ! 116: And could someone send me some info on Gnu on VMS. I seem to have entirely ! 117: missed that posting. If it is hopeless, I just might sit down and write ! 118: a Gnu emulator for Unipress and a Unipress emulator for Gnu... But the ! 119: thought of that already makes me wanna.... ! 120: ! 121: ! 122: ramin... ! 123: Standard disclaimer excluded for humanitarian purposes. ! 124: ! 125: ! 126: ! 127: Command Binding Cross-references. By key code: ! 128: ! 129: VMS (Unipress) GNU Emacs ! 130: Key Binding Binding ! 131: --- ------- --------------- ! 132: ^@ set-mark set-mark-command ! 133: ^A beginning-of-line beginning-of-line ! 134: ^B backward-character backward-char ! 135: ^C exit-emacs exit-recursive-edit ! 136: ^D delete-next-character delete-char ! 137: ^E end-of-line end-of-line ! 138: ^F forward-character forward-char ! 139: ^G illegal-operation ! 140: ^H delete-previous-character help-command ! 141: ^H-v describe-variable ! 142: ^H-w where-is ! 143: ^H-t help-with-tutorial ! 144: ^H-s describe-syntax ! 145: ^H-n view-emacs-news ! 146: ^H-^N view-emacs-news ! 147: ^H-m describe-mode ! 148: ^H-l view-lossage ! 149: ^H-i info ! 150: ^H-f describe-function ! 151: ^H-d describe-function ! 152: ^H-k describe-key ! 153: ^H-c describe-key-briefly ! 154: ^H-b describe-bindings ! 155: ^H-a command-apropos ! 156: ^H-^D describe-distribution ! 157: ^H-^C describe-copying ! 158: ^H-? help-for-help ! 159: ^H-^H help-for-help ! 160: ^I self-insert indent-for-tab-command ! 161: ^J newline-and-indent newline-and-indent ! 162: ^K kill-to-end-of-line kill-line ! 163: ^L redraw-display recenter ! 164: ^M newline newline ! 165: ^N next-line next-line ! 166: ^O newline-and-backup open-line ! 167: ^P previous-line previous-line ! 168: ^Q quote-character quoted-insert ! 169: ^R search-reverse isearch-backward ! 170: ^S search-forward isearch-forward ! 171: ^T transpose-characters transpose-chars ! 172: ^U argument-prefix universal-argument ! 173: ^V next-page scroll-up ! 174: ^W delete-to-killbuffer kill-region ! 175: ^X ^X-prefix Control-x-prefix ! 176: ^X-^A add-mode-abbrev ! 177: ^X-^B list-buffers list-buffers ! 178: ^X-^C exit-emacs save-buffers-kill-emacs ! 179: ^X-^D describe-word-in-buffer list-directory ! 180: ^X-^E compile-it eval-last-sexp ! 181: ^X-^F write-pause-or-exit find-file ! 182: ^X-^H inverse-add-mode-abbrev ! 183: ^X-^I insert-file indent-rigidly ! 184: ^X-^L downcase-region ! 185: ^X-^M write-modified-files ! 186: ^X-^N next-error set-goal-column ! 187: ^X-^O use-old-buffer delete-blank-linkes ! 188: ^X-^P mark-page ! 189: ^X-^Q toggle-read-only ! 190: ^X-^R read-file find-file-read-only ! 191: ^X-^S write-current-file save-buffer ! 192: ^X-^T transpose-lines ! 193: ^X-^U new-undo upcase-region ! 194: ^X-^V visit-file find-alternate-file ! 195: ^X-^W write-named-file write-file ! 196: ^X-^X exchange-dot-and-mark exchange-dot-and-mark ! 197: ^X-^Z shrink-window suspend-emacs ! 198: ^X-ESC repeat-complex-command ! 199: ^X-! execute-monitor-command ! 200: ^X-$ set-selective-display ! 201: ^X-( start-remembering start-kbd-macro ! 202: ^X-) stop-remembering end-kbd-macro ! 203: ^X-+ add-global-abbrev ! 204: ^X-- inverse-add-global-abbrev ! 205: ^X-. set-fill-prefix ! 206: ^X-/ dot-to-register ! 207: ^X-0 delete-window ! 208: ^X-1 delete-other-windows delete-other-windows ! 209: ^X-2 split-current-window split-window-vertically ! 210: ^X-4 ctl-x-4-prefix ! 211: ^X-4-^F find-file-other-window ! 212: ^X-4-. find-tag-other-window ! 213: ^X-4-b pop-to-buffer ! 214: ^X-4-d dired-other-window ! 215: ^X-4-f find-file-other-window ! 216: ^X-4-m mail-other-window ! 217: ^X-5 split-window-horizontally ! 218: ^X-; set-comment-column ! 219: ^X-< scroll-left ! 220: ^X-= what-cursor-position ! 221: ^X-> scroll-right ! 222: ^X-[ backward-page ! 223: ^X-] forward-page ! 224: ^X-^ enlarge-window ! 225: ^X-` next-error ! 226: ^X-a append-to-buffer ! 227: ^X-b switch-to-buffer switch-to-buffer ! 228: ^X-d delete-window dired ! 229: ^X-e execute-keyboard-macro call-last-kbd-macro ! 230: ^X-f set-fill-column ! 231: ^X-g insert-register ! 232: ^X-h mark-whole-buffer ! 233: ^X-i insert-file ! 234: ^X-j register-to-dot ! 235: ^X-k kill-buffer ! 236: ^X-l count-lines-page ! 237: ^X-m mail ! 238: ^X-n next-window narrow-to-region ! 239: ^X-o other-window ! 240: ^X-p previous-window narrow-to-page ! 241: ^X-q kbd-macro-query ! 242: ^X-r copy-rectangle-to-register ! 243: ^X-s save-some-buffers ! 244: ^X-u advertised-undo ! 245: ^X-w widen ! 246: ^X-x copy-to-register ! 247: ^X-z enlarge-window ! 248: ^X-{ shrink-window-horizontally ! 249: ^X-} enlarge-window-horizontally ! 250: ^X-DEL backward-kill-sentence ! 251: ^Y yank-from-killbuffer yank ! 252: ^Z scroll-one-line-up suspend-emacs ! 253: ESC ESC-prefix ! 254: ESC-^@ mark-sexp ! 255: ESC-^A beginning-of-defun ! 256: ESC-^B backward-sexp ! 257: ESC-^C exit-emacs exit-recursive-edit ! 258: ESC-^D down-list ! 259: ESC-^E end-of-defun ! 260: ESC-^F forward-sexp ! 261: ESC-^H mark-defun ! 262: ESC-^J indent-new-comment-line ! 263: ESC-^K kill-sexp ! 264: ESC-^N forward-list ! 265: ESC-^O split-line ! 266: ESC-^P backward-list ! 267: ESC-^S isearch-forward-regexp ! 268: ESC-^T transpose-sexps ! 269: ESC-^U backward-up-list ! 270: ESC-^V page-next-window scroll-other-window ! 271: ESC-^W delete-region-to-buffer append-next-kill ! 272: ESC-^Y yank-buffer ! 273: ESC-ESC execute-mlisp-line eval-expression ! 274: ESC-^^ case-region-invert ! 275: ESC-^\ indent-region ! 276: ESC-<SP> just-one-space ! 277: ESC-! line-to-top-of-window shell-command ! 278: ESC-$ spell-word ! 279: ESC-% query-replace ! 280: ESC-' abbrev-prefix-mark ! 281: ESC-( backward-paragraph insert-parentheses ! 282: ESC-) forward-paragraph move-past-close-and-reindent ! 283: ESC-, beginning-of-window tags-loop-continue ! 284: ESC-- meta-minus negative-argument ! 285: ESC-. end-of-window find-tag ! 286: ESC-0..ESC-9 meta-digit digit-argument ! 287: ESC-; indent-for-comment ! 288: ESC-< beginning-of-file beginning-of-buffer ! 289: ESC-= count-lines-region ! 290: ESC-> end-of-file end-of-buffer ! 291: ESC-@ mark-word ! 292: ESC-[ backward-paragraph ! 293: ESC-\ delete-horizontal-space ! 294: ESC-] forward-paragraph ! 295: ESC-? apropos ! 296: ESC-^ case-word-invert delete-indentation ! 297: ESC-a backward-sentence backward-sentence ! 298: ESC-b backward-word backward-word ! 299: ESC-d delete-next-word kill-word ! 300: ESC-e forward-sentence forward-sentence ! 301: ESC-f forward-word forward-word ! 302: ESC-g fill-region ! 303: ESC-h delete-previous-word mark-paragraph ! 304: ESC-j indent-C-procedure indent-new-comment-line ! 305: ESC-k kill-sentence ! 306: ESC-l case-word-lower downcase-word ! 307: ESC-q query-replace-string fill-paragraph ! 308: ESC-r replace-string move-to-window-line ! 309: ESC-t transpose-words ! 310: ESC-u case-word-upper upcase-word ! 311: ESC-v previous-page scroll-down ! 312: ESC-w copy-region-as-kill ! 313: ESC-x execute-extended-command execute-extended-command ! 314: ESC-y yank-pop ! 315: ESC-z scroll-one-line-down zap-to-char ! 316: ESC-| shell-command-on-region ! 317: ESC-~ not-modified ! 318: ESC-DEL backward-kill-word ! 319: ^_ return-to-monitor ! 320: .., self-insert ! 321: - minus ! 322: .../ self-insert ! 323: 0..9 digit ! 324: :..~ self-insert ! 325: ^? delete-previous-character ! 326: ! 327: ! 328: ! 329: ! 330: Command Binding Cross-references. By name: ! 331: ! 332: Command VMS (Unipress) Key GNU Key ! 333: ----------------------------- --------------------- ------------ ! 334: abbrev-prefix-mark ESC-' ! 335: add-global-abbrev ^X-+ ! 336: add-mode-abbrev ^X-^A ! 337: advertised-undo ^X-u ! 338: append-next-kill ESC-^W ! 339: append-to-buffer ^X-a ! 340: apropos ESC-? ! 341: argument-prefix ^U ! 342: backward-char ^B ! 343: backward-character ^B ! 344: backward-kill-sentence ^X-DEL ! 345: backward-kill-word ESC-DEL ! 346: backward-list ESC-^P ! 347: backward-page ^X-[ ! 348: backward-paragraph ESC-( ! 349: backward-paragraph ESC-[ ! 350: backward-sentence ESC-a ! 351: backward-sentence ESC-a ! 352: backward-sexp ESC-^B ! 353: backward-up-list ESC-^U ! 354: backward-word ESC-b ! 355: backward-word ESC-b ! 356: beginning-of-buffer ESC-< ! 357: beginning-of-defun ESC-^A ! 358: beginning-of-file ESC-< ! 359: beginning-of-line ^A ! 360: beginning-of-line ^A ! 361: beginning-of-window ESC-, ! 362: call-last-kbd-macro ^X-e ! 363: case-region-invert ESC-^^ ! 364: case-word-invert ESC-^ ! 365: case-word-lower ESC-l ! 366: case-word-upper ESC-u ! 367: command-apropos ^H-a ! 368: compile-it ^X-^E ! 369: control-x-prefix ^X ! 370: control-x-prefix ^X ! 371: copy-rectangle-to-register ^X-r ! 372: copy-region-as-kill ESC-w ! 373: copy-to-register ^X-x ! 374: count-lines-page ^X-l ! 375: count-lines-region ESC-= ! 376: ctl-x-4-prefix ^X-4 ! 377: delete-blank-linkes ^X-^O ! 378: delete-char ^D ! 379: delete-horizontal-space ESC-\ ! 380: delete-indentation ESC-^ ! 381: delete-next-character ^D ! 382: delete-next-word ESC-d ! 383: delete-other-windows ^X-1 ! 384: delete-other-windows ^X-1 ! 385: delete-previous-character ^H ^? ! 386: delete-previous-character ^? ! 387: delete-previous-word ESC-h ! 388: delete-region-to-buffer ESC-^W ! 389: delete-to-killbuffer ^W ! 390: delete-window ^X-0 ! 391: delete-window ^X-d ! 392: describe-bindings ^H-b ! 393: describe-copying ^H-^C ! 394: describe-distribution ^H-^D ! 395: describe-function ^H-f ! 396: describe-function ^H-d ! 397: describe-key ^H-k ! 398: describe-key-briefly ^H-c ! 399: describe-mode ^H-m ! 400: describe-syntax ^H-s ! 401: describe-variable ^H-v ! 402: describe-word-in-buffer ^X-^D ! 403: digit 0..9 ! 404: digit 0..9 ! 405: digit-argument ESC-0..ESC-9 ! 406: dired ^X-d ! 407: dired-other-window ^X-4-d ! 408: dot-to-register ^X-/ ! 409: down-list ESC-^D ! 410: downcase-region ^X-^L ! 411: downcase-word ESC-l ! 412: end-kbd-macro ^X-) ! 413: end-of-buffer ESC-> ! 414: end-of-defun ESC-^E ! 415: end-of-file ESC-> ! 416: end-of-line ^E ! 417: end-of-line ^E ! 418: end-of-window ESC-. ! 419: enlarge-window ^X-^ ! 420: enlarge-window ^X-z ! 421: enlarge-window-horizontally ^X-} ! 422: esc-prefix ESC ! 423: esc-prefix ESC ! 424: eval-expression ESC-ESC ! 425: eval-last-sexp ^X-^E ! 426: exchange-dot-and-mark ^X-^X ! 427: exchange-dot-and-mark ^X-^X ! 428: execute-extended-command ESC-x ! 429: execute-extended-command ESC-x ! 430: execute-keyboard-macro ^X-e ! 431: execute-mlisp-line ESC-ESC ! 432: execute-monitor-command ^X-! ! 433: exit-emacs ^C ! 434: exit-emacs ^X-^C ! 435: exit-emacs ESC-^C ! 436: exit-recursive-edit ^C ! 437: exit-recursive-edit ESC-^C ! 438: fill-paragraph ESC-q ! 439: fill-region ESC-g ! 440: find-alternate-file ^X-^V ! 441: find-file ^X-^F ! 442: find-file-other-window ^X-4-^F ! 443: find-file-other-window ^X-4-f ! 444: find-file-read-only ^X-^R ! 445: find-tag ESC-. ! 446: find-tag-other-window ^X-4-. ! 447: forward-char ^F ! 448: forward-character ^F ! 449: forward-list ESC-^N ! 450: forward-page ^X-] ! 451: forward-paragraph ESC-) ! 452: forward-paragraph ESC-] ! 453: forward-sentence ESC-e ! 454: forward-sentence ESC-e ! 455: forward-sexp ESC-^F ! 456: forward-word ESC-f ! 457: forward-word ESC-f ! 458: help-command ^H ! 459: help-for-help ^H-? ! 460: help-for-help ^H-^H ! 461: help-with-tutorial ^H-t ! 462: illegal-operation ^G ! 463: indent-C-procedure ESC-j ! 464: indent-for-comment ESC-; ! 465: indent-for-tab-command ^I ! 466: indent-new-comment-line ESC-^J ! 467: indent-new-comment-line ESC-j ! 468: indent-region ESC-^\ ! 469: indent-rigidly ^X-^I ! 470: info ^H-i ! 471: insert-file ^X-^I ! 472: insert-file ^X-i ! 473: insert-parentheses ESC-( ! 474: insert-register ^X-g ! 475: inverse-add-global-abbrev ^X-- ! 476: inverse-add-mode-abbrev ^X-^H ! 477: isearch-backward ^R ! 478: isearch-forward ^S ! 479: isearch-forward-regexp ESC-^S ! 480: just-one-space ESC-<SP> ! 481: kbd-macro-query ^X-q ! 482: kill-buffer ^X-k ! 483: kill-line ^K ! 484: kill-region ^W ! 485: kill-sentence ESC-k ! 486: kill-sexp ESC-^K ! 487: kill-to-end-of-line ^K ! 488: kill-word ESC-d ! 489: line-to-top-of-window ESC-! ! 490: list-buffers ^X-^B ! 491: list-buffers ^X-^B ! 492: list-directory ^X-^D ! 493: mail ^X-m ! 494: mail-other-window ^X-4-m ! 495: mark-defun ^X-^H ! 496: mark-page ^X-^P ! 497: mark-paragraph ESC-h ! 498: mark-sexp ESC-^@ ! 499: mark-whole-buffer ^X-h ! 500: mark-word ESC-@ ! 501: meta-digit ESC-0..ESC-9 ! 502: meta-minus ESC-- ! 503: minus - ! 504: minus - ! 505: move-past-close-and-reindent ESC-) ! 506: move-to-window-line ESC-r ! 507: narrow-to-page ^X-p ! 508: narrow-to-region ^X-n ! 509: negative-argument ESC-- ! 510: new-undo ^X-^U ! 511: newline ^M ! 512: newline ^M ! 513: newline-and-backup ^O ! 514: newline-and-indent ^J ! 515: newline-and-indent ^J ! 516: next-error ^X-^N ! 517: next-error ^X-` ! 518: next-line ^N ! 519: next-line ^N ! 520: next-page ^V ! 521: next-window ^X-n ! 522: not-modified ESC-~ ! 523: open-line ^O ! 524: other-window ^X-o ! 525: page-next-window ESC-^V ! 526: pop-to-buffer ^X-4-b ! 527: previous-line ^P ! 528: previous-line ^P ! 529: previous-page ESC-v ! 530: previous-window ^X-p ! 531: query-replace ESC-% ! 532: query-replace-string ESC-q ! 533: quote-character ^Q ! 534: quoted-insert ^Q ! 535: read-file ^X-^R ! 536: recenter ^L ! 537: redraw-display ^L ! 538: register-to-dot ^X-j ! 539: repeat-complex-command ^X-ESC ! 540: replace-string ESC-r ! 541: return-to-monitor ^_(CTL-/) ! 542: save-buffer ^X-^S ! 543: save-buffers-kill-emacs ^X-^C ! 544: save-some-buffers ^X-s ! 545: scroll-down ESC-v ! 546: scroll-left ^X-< ! 547: scroll-one-line-down ESC-z ! 548: scroll-one-line-up ^Z ! 549: scroll-other-window ESC-^V ! 550: scroll-right ^X-> ! 551: scroll-up ^V ! 552: search-forward ^S ! 553: search-reverse ^R ! 554: self-insert ^I ! 555: self-insert <SP>.., ! 556: self-insert .../ ! 557: self-insert :..~ ! 558: set-comment-column ^X-; ! 559: set-fill-column ^X-f ! 560: set-fill-prefix ^X-. ! 561: set-goal-column ^X-^N ! 562: set-mark ^@ ! 563: set-mark-command ^@ ! 564: set-selective-display ^X-$ ! 565: shell-command ESC-! ! 566: shell-command-on-region ESC-| ! 567: shrink-window ^X-^Z ! 568: shrink-window-horizontally ^X-{ ! 569: spell-word ESC-$ ! 570: split-current-window ^X-2 ! 571: split-line ESC-^O ! 572: split-window-horizontally ^X-5 ! 573: split-window-vertically ^X-2 ! 574: start-kbd-macro ESC-( ! 575: start-remembering ^X-( ! 576: stop-remembering ^X-) ! 577: suspend-emacs ^X-^Z ! 578: suspend-emacs ^Z ! 579: switch-to-buffer ^X-b ! 580: switch-to-buffer ^X-b ! 581: tags-loop-continue ESC-, ! 582: toggle-read-only ^X-^Q ! 583: transpose-characters ^T ! 584: transpose-chars ^T ! 585: transpose-lines ^X-^T ! 586: transpose-sexps ESC-^T ! 587: transpose-words ESC-t ! 588: universal-argument ^U ! 589: upcase-region ^X-^U ! 590: upcase-word ESC-u ! 591: use-old-buffer ^X-^O ! 592: view-emacs-news ^H-^N ! 593: view-emacs-news ^H-n ! 594: view-lossage ^H-l ! 595: visit-file ^X-^V ! 596: what-cursor-position ^X-= ! 597: where-is ^H-w ! 598: widen ^X-w ! 599: write-current-file ^X-^S ! 600: write-file ^X-^W ! 601: write-modified-files ^X-^M ! 602: write-named-file ^X-^W ! 603: write-pause-or-exit ^X-^F ! 604: yank ^Y ! 605: yank-buffer ESC-^Y ! 606: yank-from-killbuffer ^Y ! 607: yank-pop ESC-y ! 608: zap-to-char ESC-z
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.