📄 gosdiff
字号:
Advantages of Gosling Emacs:1. The program itself is much smaller.GNU Emacs uses about 250k more pure storage.As a result, Gosling Emacs can run on machinesthat cannot run GNU Emacs. There is not much differencein the amount of impure storage in the two programs.2. In some versions there is support for other forks toestablish communications channels to Emacs (using sockets?).3. There is a direct interface to dbm (data bases).Advantages of GNU Emacs:* True Lisp, not Mocklisp.GNU Emacs's extension language has real symbols, listsand vectors. Many extensions are much simpler, and somebecome possible that were nearly impossible in Gosling Emacs.Many primitives can have cleaner interfaces, and some featuresneed not be put in as special primitives because you can dothem easily yourself.* But Mocklisp still works.An automatic conversion package plus a run-time libraryallows you to convert a Mocklisp library into a Lisp library.* Commands are better crafted.For example, nearly every editing function for which anumeric argument would make sense as a repeat count doesaccept a repeat count, and does handle a negative argumentin the way you would expect.* The manual is clearer.Everyone tells me it is a very good manual.* Better on-line documentation.Both functions and variables have documentation strings thatdescribe exactly how to use them.* C mode is smart.It really knows how to indent each line correctly,for most popular indentation styles. (Some variablescontrol which style is used.)* Compatible with PDP-10 Emacs, Multics Emacs and Zmacs.The commands in GNU Emacs are nearly the same as in theoriginal Emacs and the other Emacses which imitated it.(A few have been changed to fit the Unix environment better.)* Support for Gosling's Emacs commands.M-x set-gosmacs-bindings rebinds many editing commands forcompatibility with Gosling's Emacs.M-x set-gnu-bindings reverses the change.* Side-by-side windows.You can split a GNU Emacs window either horizontally orvertically.* Redisplay is faster.GNU Emacs sends about the same stuff to the terminal thatGosling's does, but GNU Emacs uses much less CPU time todecide what to do.* Entirely termcap-driven.GNU Emacs has nearly no special code for any terminal type. Variousnew termcap strings make it possible to handle all terminals nearly asfast as they could be handled by special-case code.* Display-hiding features.For example, Outline Mode makes it possible for you to editan outline, making entire sub-branches of the outline visibleor invisible when you wish.* You can interrupt with Control-G.Even a looping Lisp program can be stopped this way.And even a loop in C code does not stop you from killingEmacs and getting back to your shell.* Per-buffer Undo.You can undo the last several changes, in each bufferindependently.* The editor code itself is clean.Many people have remarked on how much they enjoy readingthe code for GNU Emacs.One other note: The program etc/cvtmail that comes with GNU Emacs canbe used to convert a mail directory for Gosling Emacs's Rmail into aUnix mail file that you could read into GNU Emacs's Rmail.A detailed comparison by Rodney Zykowitz (rtgvax!ramin@eddie.mit.edu)Enclosed are two difference listings. The first one is a cross-referenceby Key bindings. The second is by alphabetized function name.Only those functions normally bound to keys in a"standard" version are included. As far as I know it excludes bindings added here locally (but what do I know...)The Gosling's is version 2.02 and runs on VMS 4.2. The Gnu isversion 16.56.1 running under Ultrix 1.1.And could someone send me some info on Gnu on VMS. I seem to have entirelymissed that posting. If it is hopeless, I just might sit down and writea Gnu emulator for Unipress and a Unipress emulator for Gnu... But thethought of that already makes me wanna....ramin...Standard disclaimer excluded for humanitarian purposes.Command Binding Cross-references. By key code: VMS (Unipress) GNU EmacsKey Binding Binding--- ------- ---------------^@ set-mark set-mark-command^A beginning-of-line beginning-of-line^B backward-character backward-char^C exit-emacs exit-recursive-edit^D delete-next-character delete-char^E end-of-line end-of-line^F forward-character forward-char^G illegal-operation^H delete-previous-character help-command^H-v describe-variable^H-w where-is^H-t help-with-tutorial^H-s describe-syntax^H-n view-emacs-news^H-^N view-emacs-news^H-m describe-mode^H-l view-lossage^H-i info^H-f describe-function^H-d describe-function^H-k describe-key^H-c describe-key-briefly^H-b describe-bindings^H-a command-apropos^H-^D describe-distribution^H-^C describe-copying^H-? help-for-help^H-^H help-for-help^I self-insert indent-for-tab-command^J newline-and-indent newline-and-indent^K kill-to-end-of-line kill-line^L redraw-display recenter^M newline newline^N next-line next-line^O newline-and-backup open-line^P previous-line previous-line^Q quote-character quoted-insert^R search-reverse isearch-backward^S search-forward isearch-forward^T transpose-characters transpose-chars^U argument-prefix universal-argument^V next-page scroll-up^W delete-to-killbuffer kill-region^X ^X-prefix Control-x-prefix^X-^A add-mode-abbrev^X-^B list-buffers list-buffers^X-^C exit-emacs save-buffers-kill-emacs^X-^D describe-word-in-buffer list-directory^X-^E compile-it eval-last-sexp^X-^F write-pause-or-exit find-file^X-^H inverse-add-mode-abbrev^X-^I insert-file indent-rigidly^X-^L downcase-region^X-^M write-modified-files^X-^N next-error set-goal-column^X-^O use-old-buffer delete-blank-linkes^X-^P mark-page^X-^Q toggle-read-only^X-^R read-file find-file-read-only^X-^S write-current-file save-buffer^X-^T transpose-lines^X-^U new-undo upcase-region^X-^V visit-file find-alternate-file^X-^W write-named-file write-file^X-^X exchange-dot-and-mark exchange-dot-and-mark^X-^Z shrink-window suspend-emacs^X-ESC repeat-complex-command^X-! execute-monitor-command^X-$ set-selective-display^X-( start-remembering start-kbd-macro^X-) stop-remembering end-kbd-macro^X-+ add-global-abbrev^X-- inverse-add-global-abbrev^X-. set-fill-prefix^X-/ dot-to-register^X-0 delete-window^X-1 delete-other-windows delete-other-windows^X-2 split-current-window split-window-vertically^X-4 ctl-x-4-prefix^X-4-^F find-file-other-window^X-4-. find-tag-other-window^X-4-b pop-to-buffer^X-4-d dired-other-window^X-4-f find-file-other-window^X-4-m mail-other-window^X-5 split-window-horizontally^X-; set-comment-column^X-< scroll-left^X-= what-cursor-position^X-> scroll-right^X-[ backward-page^X-] forward-page^X-^ enlarge-window^X-` next-error^X-a append-to-buffer^X-b switch-to-buffer switch-to-buffer^X-d delete-window dired^X-e execute-keyboard-macro call-last-kbd-macro^X-f set-fill-column^X-g insert-register^X-h mark-whole-buffer^X-i insert-file^X-j register-to-dot^X-k kill-buffer^X-l count-lines-page^X-m mail^X-n next-window narrow-to-region^X-o other-window^X-p previous-window narrow-to-page^X-q kbd-macro-query^X-r copy-rectangle-to-register^X-s save-some-buffers^X-u advertised-undo^X-w widen^X-x copy-to-register^X-z enlarge-window^X-{ shrink-window-horizontally^X-} enlarge-window-horizontally^X-DEL backward-kill-sentence^Y yank-from-killbuffer yank^Z scroll-one-line-up suspend-emacsESC ESC-prefixESC-^@ mark-sexpESC-^A beginning-of-defunESC-^B backward-sexpESC-^C exit-emacs exit-recursive-editESC-^D down-listESC-^E end-of-defunESC-^F forward-sexpESC-^H mark-defunESC-^J indent-new-comment-lineESC-^K kill-sexpESC-^N forward-listESC-^O split-lineESC-^P backward-listESC-^S isearch-forward-regexpESC-^T transpose-sexpsESC-^U backward-up-listESC-^V page-next-window scroll-other-windowESC-^W delete-region-to-buffer append-next-killESC-^Y yank-bufferESC-ESC execute-mlisp-line eval-expressionESC-^^ case-region-invertESC-^\ indent-regionESC-<SP> just-one-spaceESC-! line-to-top-of-window shell-commandESC-$ spell-wordESC-% query-replaceESC-' abbrev-prefix-markESC-( backward-paragraph insert-parenthesesESC-) forward-paragraph move-past-close-and-reindentESC-, beginning-of-window tags-loop-continueESC-- meta-minus negative-argumentESC-. end-of-window find-tagESC-0..ESC-9 meta-digit digit-argumentESC-; indent-for-commentESC-< beginning-of-file beginning-of-bufferESC-= count-lines-regionESC-> end-of-file end-of-bufferESC-@ mark-wordESC-[ backward-paragraphESC-\ delete-horizontal-spaceESC-] forward-paragraphESC-? aproposESC-^ case-word-invert delete-indentationESC-a backward-sentence backward-sentenceESC-b backward-word backward-wordESC-d delete-next-word kill-wordESC-e forward-sentence forward-sentenceESC-f forward-word forward-wordESC-g fill-region
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -