Copyright (C) 2000-2012 |
GNU Info (emacs-lisp-intro.info)Narrowing advantagesThe Advantages of Narrowing =========================== With narrowing, the rest of a buffer is made invisible, as if it weren't there. This is an advantage if, for example, you want to replace a word in one part of a buffer but not in another: you narrow to the part you want and the replacement is carried out only in that section, not in the rest of the buffer. Searches will only work within a narrowed region, not outside of one, so if you are fixing a part of a document, you can keep yourself from accidentally finding parts you do not need to fix by narrowing just to the region you want. (The key binding for `narrow-to-region' is `C-x n n'.) However, narrowing does make the rest of the buffer invisible, which can scare people who inadvertently invoke narrowing and think they have deleted a part of their file. Moreover, the `undo' command (which is usually bound to `C-x u') does not turn off narrowing (nor should it), so people can become quite desperate if they do not know that they can return the rest of a buffer to visibility with the `widen' command. (The key binding for `widen' is `C-x n w'.) Narrowing is just as useful to the Lisp interpreter as to a human. Often, an Emacs Lisp function is designed to work on just part of a buffer; or conversely, an Emacs Lisp function needs to work on all of a buffer that has been narrowed. The `what-line' function, for example, removes the narrowing from a buffer, if it has any narrowing and when it has finished its job, restores the narrowing to what it was. On the other hand, the `count-lines' function, which is called by `what-line', uses narrowing to restrict itself to just that portion of the buffer in which it is interested and then restores the previous situation. automatically generated by info2www version 1.2.2.9 |