Emacs Goodies for Debian
------------------------

  The file you're currently reading is mostly meant as an introductory
starter for the various goodies included in emacs-goodies-el.  Consult the
Info node `emacs-goodies-el' for more complete information.


Introduction to files in emacs-goodies-el
-----------------------------------------

,----[ nice title ]
| 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.
`----

align-string.el provides M-x align-string and M-x align-all-strings,
to align vertically the first occurences of a regexp over several
lines.

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.

apache-mode.el provides fontification when editing Apache configuration
files.

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.

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.

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.

bm.el provides visible, buffer local, bookmarks and the ability to jump
forward and backward to the next bookmark.

browse-huge-tar.el allows you to browse large tar files without reading
them into memory.  The trade off is memory usage vs. speed.

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.

cfengine.el is an Emacs major-mode for editing cfengine scripts.

clipper.el provides the M-x clipper-* commands to save strings of data
and insert them afterwards.  Each string is labeled with a name, and
can involve some basic template replacement.

color-theme.el changes the colors used within Emacs.  They are lots of
themes to choose from.

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.

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.

coffee.el provides an Emacs interface to RFC2324-compliant coffee
devices

dedicated.el allows you to toggle a window's "dedicated" flag.
When a window is "dedicated", Emacs will not select files into that window.

df.el provides M-x df, to display in the mode line space left on
devices.

dict.el is an Emacs wrapper around `dict' command to provide access to
a dictd server from within Emacs.  The package provides several
(customisable) key bindings, here are two of the default ones: `C-c d
d' runs dict on the word at point.  `C-c d r' runs dict on region as a
single word.

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.

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'.

edit-env.el lets you display, edit, delete and add environment variables.

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.

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.

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.

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.

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 `}}}'.

framepop.el makes temporary buffers such as *Help* or *Completions* appear
in a separate frame which is easily dismissed when no longer needed.

floatbg.el provides M-x floatbg-mode, to slowly modify the background
color of your Emacs.

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/).

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)

highlight-current-line.el highlights the line the cursor is in.  Enable a
buffer using the command `M-x highlight-current-line-minor-mode'. You may
enable the minor-mode automatically for (almost) all buffers by

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
beiginning/end of the buffer.  To enable it, customize the variable
`home-end-enable'.

htmlize.el provides many M-x htmlize-* commands that turn files,
buffers, or region of font-lock colorised text into an HTML
representation.

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 that you *must* load each file that contains your various
customizations from your .emacs.

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.

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.

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.

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'.

lcomp.el adds useful keybindings to the completions buffer.

maplev.el is a major mode for Maple.

map-lines.el provides M-x map-lines, a command to iterate a given
command over lines matching a regexp.

markdown-mode.el provides support for editing Markdown files. It
provides syntax highlighting and basic element insertion commands.

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.

matlab.el provides support for editing MATLAB dot-m files.  It
automatically indents for block structures, line continuations (e.g., ...),
and comments.

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.

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.

miniedit.el toggles minibuffer editing into a full text-mode buffer for
easy multi-line editing of commands.

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.

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".

obfusurl.el provides M-x obfuscate-url, a command that will obfuscate
an URL under the cursor.

pack-windows.el resizes all windows vertically to display as much
information as possible with the command `M-x pack-windows'.

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.

pp-c-l displays Control-l characters in a pretty way.

pod-mode.el provides support for editing Plain Old Documentation
(Perl documentation) files.  It provides syntax highlighting.

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.

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.

protocols.el provides M-x protocols-lookup, to search for info in your
/etc/protocols.

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'.

rfcview.el formats IETF RFCs for improved readability.

services.el provides M-x services-lookup, to search for info in your
/etc/services.

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.

setnu.el provides M-x setnu-mode, a vi-style line number mode.

shell-command.el is an an enhancement for shell-command, enabling
tab-completion of commands and dir/filenames within the shell-command input
context.

show-wspace.el is a minor mode to highlight whitespaces of various kinds.

slang-mode.el is a major mode for editing S-Lang files.

silly-mail.el provides M-x add-sm-* commands to add various headers to
your email messages.

sys-apropos.el provides M-x sys-apropos, an interface to the "apropos"
command.

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.

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.

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).

thinks.el provides cartoon-like think bubbles . o O ( like this ).
Look for M-x thinks* commands.

tlc.el is a major mode for editing Target Language Compiler scripts.  It
automatically indents the programming constructs.

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.

todoo.el provides M-x todoo and M-x todoo-mode, to conveniently edit
TODO lists.

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.

twiddle.el provides mode-line hacks.  There are two user commands of
interest: twiddle-start and twiddle-compile.

under.el provides M-x underline-region, to underline a bit of text
with ^ characters like this.
                  ^^^^^^^^^
upstart-mode.el is a major-mode for editing .upstart files.

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'.

 -- Julian Gilbey <jdg@debian.org>, Sun,  2 Feb 2014 09:25:53 +0000
