Emacs Goodies for Debian ------------------------ This file documents the status of Emacs addons that were previously part of the emacs-goodies-el package. The Debian Emacsen team thanks Roland Mas, Peter S Galbraith, and Julian Gilbey for their many years of work on emacs-goodies-el. Current Status -------------- In the following list, a prefix of "D" means "dropped", "E" means "elpafied", and "T" means "transitioned to an actively maintained alternative that has equivalent functionality". Elpafied packages have been declared as dependencies in debian/control and are named something like "elpa-foo". Transitioned usually means that the functionality is now part of GNU Emacs. Suggested alternatives to Transitioned or Dropped packages are also found in this README. Please note that these suggested packages are not automatically installed. The emacs-goodies-el changelog contains the history and justification for why a package was transitioned or dropped rather than elpafied. The changelog also contains references to RFP (Request for Packaging) bugs; these bugs were filed for dropped packages that someone on the Debian Emacsen team believes are useful, but that--due to lack of interest, to third party software, or to niche hardware--no one wants to maintain. ,----[ nice title ] E | boxquote.el allows the easy creation of boxes that look like this, | with a nice title and all. Look for the M-x boxquote-* commands. `---- T align-string.el provides M-x align-string and M-x align-all-strings, to align vertically the first occurrences of a regexp over several lines. - Use functions from GNU Emacs built-in align.el instead. eg: "M-x align-current", "C-u M-x align", et al. D all.el provides M-x all, a way to see all lines matching a regexp pattern in a special buffer. Editing these lines in that buffer propagates the changes back to the original buffer. E apache-mode.el provides fontification when editing Apache configuration files. D ascii.el provides a way to display ASCII code on a window, that is, display in another window an ASCII table highlighting the current character code. D auto-fill-inhibit.el provides a finer grained control over auto-fill-mode activation. Tu use it, simply load the file. For instance, adding (load-library "auto-fill-inhibit") to your .emacs should do the trick. You'll need to set the auto-fill-inhibit-list variable to an appropriate value. E bar-cursor.el allows you to change your cursor from a block to a vertical bar in insert mode, and back to a block in overwrite mode. Try M-x bar-cursor-mode. E bm.el provides visible, buffer local, bookmarks and the ability to jump forward and backward to the next bookmark. D browse-huge-tar.el allows you to browse large tar files without reading them into memory. The trade off is memory usage vs. speed. E browse-kill-ring.el provides M-x browse-kill-ring.el, to, well, browse through your kill ring, perform searches on it, and insert items into a buffer. D button-lock.el is a minor mode which provides simple facilities to define clickable text based on regular expressions (used by maplev.el). T cfengine.el is an Emacs major-mode for editing cfengine scripts. - Built into GNU Emacs 23 and dropped from emacs-goodies-el 31.6. D clipper.el provides the M-x clipper-* commands to save strings of data and insert them afterwards. Each string is labelled with a name, and can involve some basic template replacement. T color-theme.el changes the colors used within Emacs. They are lots of themes to choose from. - The built-in alternative consists of cus-theme.el and custom.el. Custom themes were originally an XEmacs feature. The Debian Emacsen Team packages some of the most popular ones, and "apt search elpa.*theme" will find them. "M-x load-theme" will load a specific theme. "M-x customize-themes" displays a selectable list of custom themes. - Please note, custom themes behave very differently than color themes when a theme is enabled or disabled. - The elpa-color-theme-modern package is a port of most of the color-themes to the new Emacs theme framework. See RFP Bug #905246. -- Thanks to Jörg Sommer for this tip. E csv-mode.el is a major mode for editing files of CSV type, which provides commands, key bindings and a menu to sort records by field, kill and yank columns, align and unalign fields, and transpose rows and columns. D ctypes.el can search through source files hunting down typedefs. When found, font-lock is informed and your source code will be even more beautifully colored than before. D coffee.el provides an Emacs interface to RFC2324-compliant coffee devices D dedicated.el allows you to toggle a window's "dedicated" flag. When a window is "dedicated", Emacs will not select files into that window. D df.el provides M-x df, to display in the mode line space left on devices. D dict.el is an Emacs interface to dict client. - Removed in emacs-goodies-el 36.0; Use dictionary-el instead. -- Copied from psg's entry in emacs-goodies-el.texi on this topic. E diminish.el provides M-x diminish, M-x diminish-undo and M-x diminished-modes. Diminished modes are minor modes with a shorter or no modeline display. T dir-locals.el provides a functionality similar to the local variables defined in a file, but for an entire directory tree. Use This library implements such a scheme, controlled by the global minor mode `dir-locals-mode'. - The use of dir-locals.el via ".emacs-locals" files has overwhelmingly been replaced by the GNU Emacs built-in files.el via ".dir-locals.el" files. That said, dropping dir-locals.el has the potential to inconvenience those who make extensive use of ".emacs-locals" files, and these users would probably appreciate it if someone stepped forward to maintain this package. See RFP Bug #907284. D edit-env.el lets you display, edit, delete and add environment variables. D egocentric.el provides M-x egocentric-mode, a mode to highlight your name (or other keywords) in buffers. If you use Gnus, you might want to add (add-hook 'gnus-article-prepare-hook 'egocentric-mode) to your Gnus init file. E eproject.el is an extension that lets you group related files together as projects. It aims to be as unobtrusive as possible -- no new files are created (or required to exist) on disk, and buffers that aren't a member of a project are not affected in any way. D ff-paths.el allows you to use C-x C-f normally most of the time, except that if the requested file doesn't exist, it is checked against a list of patterns for special paths to search for a file of the same name. Use (require 'ff-paths) in your .emacs to activate it. D filladapt.el enhances the behavior of Emacs's fill functions by guessing the proper fill prefix in many contexts. Emacs has a built-in adaptive fill mode but Filladapt is said to be much better. Use `M-x filladapt-mode' to toggle Filladapt mode on/off in the current buffer. Use 'turn-on-filladapt-mode in mode hooks. E folding.el provides a minor mode for folding (hiding) parts of the edited text or program. Folding mode handles a document as a tree, where each branch is bounded by special markers `{{{' and `}}}'. D framepop.el makes temporary buffers such as *Help* or *Completions* appear in a separate frame which is easily dismissed when no longer needed. D floatbg.el provides M-x floatbg-mode, to slowly modify the background color of your Emacs. E graphviz-dot-mode.el provides a mode for editing files in the dot-language (www.graphviz.org and http://www.research.att.com/sw/tools/graphviz/). T highlight-beyond-fill-column.el highlights (with a face you choose) text that is beyond the fill-column, therefore providing a visual indication of where the fill-* functions would wrap the lines. Enable it on a buffer using `M-x highlight-beyond-fill-column.' You may use that command in a hook (e.g. text-mode-hook). - The functionality of highlight-beyond-fill-column is now provided by the GNU Emacs builtin whitespace-line-column. T highlight-completion highlights completions in the minibuffer - The GNU Emacs built-in "M-x enriched-mode" might prove to be a suitable minimal replacement. - elpa-ivy, elpa-swiper, and elpa-helm provide similar functionality. T highlight-current-line.el highlights the line the cursor is in. Enable a buffer using the command `M-x highlight-current-line-minor-mode'. - The functionality of highlight-current-line.el is now provided by the GNU Emacs builtin hl-line-mode. D home-end.el provides some useful bindings for Home and End keys: hit the key once to go to the beginning/end of a line, hit it twice in a row to go to the beginning/end of the window, three times in a row goes to the beginning/end of the buffer. To enable it, customize the variable `home-end-enable'. E htmlize.el provides many M-x htmlize-* commands that turn files, buffers, or region of font-lock colorized text into an HTML representation. E initsplit.el allows you to split Emacs customizations (set via M-x customize) into different files, based on the names of the variables. To use it, just load the file in your .emacs: (load "initsplit"). Note that you *must* load each file that contains your various customizations from your .emacs. D joc-toggle-buffer.el provides M-x joc-toggle-buffer, a command that can be bound to a key in order to speed up the switching between two buffers. D joc-toggle-case.el provides a sophisticated (over-engineered?) set of functions to toggle the case of the character under point, with which you can emulate vi's ~ function. Look for the M-x joc-toggle-case and M-x joc-toggle-case-* commands. D keydef.el provides the `keydef' macro for use in .emacs files (or similar). It is an alternative (simpler) way to define keys, with kbd syntax. You should read the doc in keydef.el, as it is not intended for interactive use. D keywiz.el drills you about Emacs key-bindings. You're presented with the name of a command and the docstring, and then prompted for the correct key sequence. You'll earn one point for each correct answer during the time limit. Invoke with `M-x keywiz'. D lcomp.el adds useful keybindings to the completions buffer. D maplev.el is a major mode for Maple. D map-lines.el provides M-x map-lines, a command to iterate a given command over lines matching a regexp. E markdown-mode.el provides support for editing Markdown files. It provides syntax highlighting and basic element insertion commands. D marker-visit.el provides a simple way to navigate among marks in a buffer. All the marks you've left while editing a buffer serve as bread crumb trails of areas in the buffer you've edited. It is convenient to navigate back and forth among these marks in order. This file provides two methods to do just that, marker-visit-prev and marker-visit-next to visit the nearest mark in either direction. D matlab.el provides support for editing MATLAB dot-m files. It automatically indents for block structures, line continuations (e.g., ...), and comments. See RFP Bug #902739. T minibuf-electric.el eases minibuffer typing. When you type "//", it clears the minibuffer back to the start, leaving only a single "/". When you type a "~", it does the similar, leaving only "~/". This is nicer than having to explicitly erase the contents of the minibuffer. - This is now provided by GNU Emacs, in rfn-eshadow.el. Use this instead: ;; (setq file-name-shadow-tty-properties '(invisible t)) ;; (file-name-shadow-mode 1) D minibuffer-complete-cycle.el makes `minibuffer-complete' select each of the possible completions in turn, inserting it into the minibuffer and highlighting it in the *Completions* buffer. D miniedit.el toggles minibuffer editing into a full text-mode buffer for easy multi-line editing of commands. E mutt-alias.el provides M-x mutt-alias-insert and M-x mutt-alias-lookup, two commands to lookup and insert the expansion of mutt mail aliases. E muttrc-mode.el provides muttrc-mode, a major mode to help the edition of Mutt configuration files. To use it, either open a file named muttrc, or add a local variables section to the end of your file to specify the mode to be "muttrc". D obfusurl.el provides M-x obfuscate-url, a command that will obfuscate an URL under the cursor. D pack-windows.el resizes all windows vertically to display as much information as possible with the command `M-x pack-windows'. T perldoc.el provides an interface to the "perldoc" command in your Perl-mode or CPerl-mode buffers. Use (require 'perldoc) in your .emacs to activate it, then place point over a word and press F1. - It's functionality is now largely provided by the GNU Emacs built-in cperl-perldoc. Please file a bug if this isn't the case. D pp-c-l displays Control-l characters in a pretty way. E pod-mode.el provides support for editing Plain Old Documentation (Perl documentation) files. It provides syntax highlighting. D projects.el provides M-x add-project, remove-project and list-projects, and introduces the concept of PROJECT ROOTS that allow the user to define logical project names and get abbreviated yet meaningful buffer names in the modeline. T protbuf.el provides M-x protect-buffer-from-kill-mode and M-x protect-process-buffer-from-kill-mode, two commands to protect buffers from being accidentally killed. - This functionality is now provided by M-x emacs-lock-mode. D protocols.el provides M-x protocols-lookup, to search for info in your /etc/protocols. D quack.el provides enhanced support for editing and running Scheme code in both the major and minor modes. It also provides easy access to online references for plt-scheme, books on Scheme, and SRFIs (Scheme Requests For Implementation). Because it invasively changes scheme-mode, it is not enabled by default. To enable it, customize the variable `quack-install'. E rfcview.el formats IETF RFCs for improved readability. D services.el provides M-x services-lookup, to search for info in your /etc/services. E session.el restores various variables (e.g., input histories) from your last session. It also provides a menu containing recently changed/visited files and restores the places (e.g., point) of such a file when you revisit it. D setnu.el provides M-x setnu-mode, a vi-style line number mode. T shell-command.el is an enhancement for shell-command, enabling tab-completion of commands and dir/filenames within the shell-command input context. - Tab completion is now built into GNU EMACS - A fancy prompt can be configured thus: Old: (shell-command-make-prompt-string " [%w]%$ " default-directory) New: (format " [%s]$ " (directory-file-name (abbreviate-file-name default-directory))) -- Thanks to Dima Kogan for this tip. D show-wspace.el is a minor mode to highlight whitespaces of various kinds. D slang-mode.el is a major mode for editing S-Lang files. D silly-mail.el provides M-x add-sm-* commands to add various headers to your email messages. T sys-apropos.el provides M-x sys-apropos, an interface to the "apropos" command. - This functionality is provided by "M-x man" and "M-x info", both of which are built into GNU Emacs. - Alternatively, use "M-x counsel-apropos" from the elpa-counsel package. E tabbar.el displays buffers as tabs in the header line, and provides commands to switch between them. You can bind keys to M-x tabbar-forward and M-x tabbar-backward, and use these to quickly switch between buffers. By default, tabbar-mode will group buffers into various groups, and only display one group at a time on the tabbar; you can change this by customizing tabbar. D tail.el provides the commands M-x tail-file and M-x tail-command, to follow the output of a command (or to follow a log file) without using any terminals. T tc.el provides a nice way to quote cited texts, with proper filling and attribution. You can use it for instance by setting the cite function to 'trivial-cite: (setq message-cite-function 'trivial-cite). - Gnus, built into GNU Emacs (gnus.el) provides this functionality. The two variables which can be configured to provide identical output to tc.el are: "message-citation-line-function" "message-citation-line-format" - To provide the same format as Kai Grossjohann's recipe in tc.el (setq message-cite-function 'trivial-cite tc-make-attribution 'tc-simple-attribution-kai) the following should now be used: (setq message-citation-line-function 'message-insert-formatted-citation-line message-citation-line-format "On %e %B %Y %R %N, wrote:\n") -- Thanks to Gijs Hillenius for investigating and confirming this. - To actually insert the citation use "M-x message-insert-citation-line" This replaces "M-x trivial-cite". - See also "M-;", "string-insert-rectangle", and "mail-yank-prefix". D thinks.el provides cartoon-like think bubbles . o O ( like this ). Look for M-x thinks* commands. D tlc.el is a major mode for editing Target Language Compiler scripts. It automatically indents the programming constructs. D tld.el provides M-x tld, for easy access to all those top-level domains you just can't remember, and to the corresponding countries. See RFP Bug #907284. D todoo.el provides M-x todoo and M-x todoo-mode, to conveniently edit TODO lists. D toggle-option.el provides M-x toggle-option, a command to rapidly toggle an option. You should set the toggle-option-list variable to an appropriate value. D twiddle.el provides mode-line hacks. There are two user commands of interest: twiddle-start and twiddle-compile. T under.el provides M-x underline-region, to underline a bit of text with ^ characters like this. ^^^^^^^^^ - "underline-region" is now a GNU Emacs built-in function. D upstart-mode.el is a major-mode for editing .upstart files. D xrdb-mode.el provides the xrdb-mode major mode, to help you editing X resource database files. To use it, simple open a file named .Xdefaults, .Xenvironment, .Xresources or *.ad after having enabled it by customising `xrdb-mode-setup-auto-mode-alist'. - Any functionality xrdb-mode provides that isn't already provided by GNU Emacs built-in 'conf-mode' should probably be merged into conf-mode.el. Without xrdb-mode, GNU Emacs opens these files using conf-xdefaults-mode. See RFP Bug #902749 -- Nicholas D Steeves , Sat, 1 Dec 2018 16:38:40 -0500