📄 oonews
字号:
* Rectangle operations are now implemented. C-x r stores the rectangle described by dot and mark into a register; it reads the register name from the keyboard. C-x g, the command to insert the contents of a register, can be used to reinsert the rectangle elsewhere. Other rectangle commands include open-rectangle: insert a blank rectangle in the position and size described by dot and mark, at its corners; the existing text is pushed to the right. clear-rectangle: replace the rectangle described by dot ane mark with blanks. The previous text is deleted. delete-rectangle: delete the text of the specified rectangle, moving the text beyond it on each line leftward.* Side-by-side windows are allowed. Use C-x 5 to split the current window into two windows side by side. C-x } makes the selected window ARG columns wider at the expense of the windows at its sides. C-x { makes the selected window ARG columns narrower. An argument to C-x 5 specifies how many columns to give to the leftmost of the two windows made. C-x 2 now accepts a numeric argument to specify the number of lines to give to the uppermost of the two windows it makes.* Horizontal scrolling of the lines in a window is now implemented. C-x < (scroll-left) scrolls all displayed lines left, with the numeric argument (default 1) saying how far to scroll. When the window is scrolled left, some amount of the beginning of each nonempty line is replaced by an "$". C-x > scrolls right. If a window has no text hidden at the left margin, it cannot be scrolled any farther right than that. When nonzero leftwards scrolling is in effect in a window. lines are automatically truncated at the window's right margin regardless of the value of the variable truncate-lines in the buffer being displayed.* C-x C-d now uses the default output format of `ls', which gives just file names in multiple columns. C-u C-x C-d passes the -l switch to `ls'.* C-t at the end of a line now exchanges the two preceding characters. All the transpose commands now interpret zero as an argument to mean to transpose the textual unit after or around dot with the one after or around the mark.* M-! executes a shell command in an inferior shell and displays the output from it. With a prefix argument, it inserts the output in the current buffer after dot and sets the mark after the output. The shell command gets /dev/null as its standard input. M-| is like M-! but passes the contents of the region as input to the shell command. A prefix argument makes the output from the command replace the contents of the region.* The mode line will now say "Def" after the major mode while a keyboard macro is being defined.* The variable fill-prefix is now used by Meta-q. Meta-q removes the fill prefix from lines that start with it before filling, and inserts the fill prefix on each line after filling. The command C-x . sets the fill prefix equal to the text on the current line before dot.* The new command Meta-j (indent-new-comment-line), is like Linefeed (indent-new-line) except when dot is inside a comment; in that case, Meta-j inserts a comment starter on the new line, indented under the comment starter above. It also inserts a comment terminator at the end of the line above, if the language being edited calls for one.* Rmail should work correctly now, and has some C-h m documentation.Changes in Emacs 1.6* save-buffers-kill-emacs is now on C-x C-c while C-x C-z does suspend-emacs. This is to make C-x C-c like the normal Unix meaning of C-c and C-x C-z linke the normal Unix meaning of C-z.* M-ESC (eval-expression) is now a disabled command by default. This prevents users who type ESC ESC accidentally from getting confusing results. Put (put 'eval-expression 'disabled nil) in your ~/.emacs file to enable the command.* Self-inserting text is grouped into bunches for undoing. Each C-x u command undoes up to 20 consecutive self-inserting characters.* Help f now uses as a default the function being called in the innermost Lisp expression that dot is in. This makes it more convenient to use while writing Lisp code to run in Emacs. (If the text around dot does not appear to be a call to a Lisp function, there is no default.) Likewise, Help v uses the symbol around or before dot as a default, if that is a variable name.* Commands that read filenames now insert the default directory in the minibuffer, to become part of your input. This allows you to see what the default is. You may type a filename which goes at the end of the default directory, or you may edit the default directory as you like to create the input you want to give. You may also type an absolute pathname (starting with /) or refer to a home directory (input starting with ~) after the default; the presence of // or /~ causes everything up through the slash that precedes your type-in to be ignored. Returning the default directory without change, including the terminating slash, requests the use of the default file name (usually the visited file's name). Set the variable insert-default-directory to nil to turn off this feature.* M-x shell now uses the environment variable ESHELL, if it exists, as the file name of the shell to run. If there is no ESHELL variable, the SHELL variable is used. This is because some shells do not work properly as inferiors of Emacs (or anything like Emacs).* A new variable minor-modes now exists, with a separate value in each buffer. Its value should be an alist of elements (MODE-FUNCTION-SYMBOL . PRETTY-NAME-STRING), one for each minor mode that is turned on in the buffer. The pretty name strings are displayed in the mode line after the name of the major mode (with spaces between them). The mode function symbols should be symbols whose function definitions will turn on the minor mode if given 1 as an argument; they are present so that Help m can find their documentation strings.* The format of tag table files has been changed. The new format enables Emacs to find tags much faster. A new program, etags, exists to make the kind of tag table that Emacs wants. etags is invoked just like ctags; in fact, if you give it any switches, it does exactly what ctags would do. Give it the empty switch ("-") to make it act like ctags with no switches. etags names the tag table file "TAGS" rather than "tags", so that these tag tables and the standard Unix ones can coexist. The tags library can no longer use standard ctags-style tag tables files.* The file of Lisp code Emacs reads on startup is now called ~/.emacs rather than ~/.emacs_pro.* copy-file now gives the copied file the same mode bits as the original file.* Output from a process inserted into the process's buffer no longer sets the buffer's mark. Instead it sets a marker associated with the process to point to the end of the inserted text. You can access this marker with (process-mark PROCESS) and then either examine its position with marker-position or set its position with set-marker.* completing-read takes a new optional fifth argument which, if non-nil, should be a string of text to insert into the minibuffer before reading user commands.* The Lisp function elt now exists: (elt ARRAY N) is like (aref ARRAY N), (elt LIST N) is like (nth N LIST).* rplaca is now a synonym for setcar, and rplacd for setcdr. eql is now a synonym for eq; it turns out that the Common Lisp distinction between eq and eql is insignificant in Emacs. numberp is a new synonym for integerp.* auto-save has been renamed to auto-save-mode.* Auto save file names for buffers are now created by the function make-auto-save-file-name. This is so you can redefine that function to change the way auto save file names are chosen.* expand-file-name no longer discards a final slash. (expand-file-name "foo" "/lose") => "/lose/foo" (expand-file-name "foo/" "/lose") => "/lose/foo/" Also, expand-file-name no longer substitutes $ constructs. A new function substitute-in-file-name does this. Reading a file name with read-file-name or the `f' or`F' option of interactive calling uses substitute-in-file-name on the file name that was read and returns the result. All I/O primitives including insert-file-contents and delete-file call expand-file-name on the file name supplied. This change makes them considerably faster in the usual case.* Interactive calling spec strings allow the new code letter 'D' which means to read a directory name. It is like 'f' except that the default if the user makes no change in the minibuffer is to return the current default directory rather than the current visited file name.Changes in Emacs 1.5* suspend-emacs now accepts an optional argument which is a string to be stuffed as terminal input to be read by Emacs's superior shell after Emacs exits. A library called ledit exists which uses this feature to transmit text to a Lisp job running as a sibling of Emacs.* If find-file is given the name of a directory, it automatically invokes dired on that directory rather than reading in the binary data that make up the actual contents of the directory according to Unix.* Saving an Emacs buffer now preserves the file modes of any previously existing file with the same name. This works using new Lisp functions file-modes and set-file-modes, which can be used to read or set the mode bits of any file.* The Lisp function cond now exists, with its traditional meaning.* defvar and defconst now permit the documentation string to be omitted. defvar also permits the initial value to be omitted; then it acts only as a comment.Changes in Emacs 1.4* Auto-filling now normally indents the new line it creates by calling indent-according-to-mode. This function, meanwhile, has in Fundamental and Text modes the effect of making the line have an indentation of the value of left-margin, a per-buffer variable. Tab no longer precisely does indent-according-to-mode; it does that in all modes that supply their own indentation routine, but in Fundamental, Text and allied modes it inserts a tab character.* The command M-x grep now invokes grep (on arguments supplied by the user) and reads the output from grep asynchronously into a buffer. The command C-x ` can be used to move to the lines that grep has found. This is an adaptation of the mechanism used for running compilations and finding the loci of error messages. You can now use C-x ` even while grep or compilation is proceeding; as more matches or error messages arrive, C-x ` will parse them and be able to find them.* M-x mail now provides a command to send the message and "exit"--that is, return to the previously selected buffer. It is C-z C-z.* Tab in C mode now tries harder to adapt to all indentation styles. If the line being indented is a statement that is not the first one in the containing compound-statement, it is aligned under the beginning of the first statement.* The functions screen-width and screen-height return the total width and height of the screen as it is now being used. set-screen-width and set-screen-height tell Emacs how big to assume the screen is; they each take one argument, an integer.* The Lisp function 'function' now exists. function is the same as quote, except that it serves as a signal to the Lisp compiler that the argument should be compiled as a function. Example: (mapcar (function (lambda (x) (+ x 5))) list)* The function set-key has been renamed to global-set-key. undefine-key and local-undefine-key has been renamed to global-unset-key and local-unset-key.* Emacs now collects input from asynchronous subprocesses while waiting in the functions sleep-for and sit-for.* Shell mode's Newline command attempts to distinguish subshell prompts from user input when issued in the middle of the buffer. It no longer reexecutes from dot to the end of the line;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -