SaltyCrane: emacshttps://www.saltycrane.com/blog/2018-11-02T22:44:05-07:00Magit in Spacemacs (evil-magit) notes
2018-11-02T22:44:05-07:00https://www.saltycrane.com/blog/2018/11/magit-spacemacs-evil-magit-notes/<p>
<a href="https://magit.vc/">Magit</a> and
<a href="https://orgmode.org/">Org</a> are two
<a href="https://twitter.com/bodil/status/1030073336875892736">killer apps</a>
for Emacs. Here are my Magit notes using (the also excellent)
<a href="http://spacemacs.org/">Spacemacs</a> (which uses
<a href="https://github.com/emacs-evil/evil-magit">evil-magit</a>).
</p>
<h4 id="contents">Contents</h4>
<ul>
<li><a href="#status">Show git status</a></li>
<li><a href="#help">Show help</a></li>
<li><a href="#log">Show git log</a></li>
<li><a href="#log-file">Show all commits for the current file</a></li>
<li><a href="#diff-range">Diff a range of commits</a></li>
<li><a href="#checkout-branch">Checkout a local branch</a></li>
<li><a href="#checkout-commit">Checkout a commit</a></li>
<li>
<a href="#checkout-revision">Checkout a different revision of a file</a>
</li>
<li>
<a href="#open-revision">Open a different revision of a file</a>
</li>
<li>
<a href="#create-branch">Create a local branch from a remote branch</a>
</li>
<li><a href="#pull">Pull from upstream</a></li>
<li><a href="#push">Push to upstream</a></li>
<li><a href="#stage-hunks">Stage specific hunks</a></li>
<li><a href="#merge-master">Merge master into the current branch</a></li>
<li><a href="#rebase-master">Rebase the current branch onto master</a></li>
<li>
<a href="#interactive-rebase-squash"
>Use interactive rebase to squash commits</a
>
</li>
<li>
<a href="#interactive-rebase-reorder"
>Use interactive rebase to reorder commits</a
>
</li>
<li><a href="#revert-commit">Revert a commit</a></li>
<li><a href="#reset-commit">(Soft) reset the last commit</a></li>
<li><a href="#stash">Stash changes</a></li>
<li><a href="#pop-stash">Pop stash</a></li>
<li><a href="#copy-commit-sha">Copy git commit SHA</a></li>
<li><a href="#copy-text">Copy text from a Magit buffer</a></li>
<li><a href="#run-shell">Run a shell command</a></li>
<li><a href="#list-branches">List all branches</a></li>
<li>
<a href="#jump-section">Jump to the next/prev section in the status view</a>
</li>
<li>
<a href="#worktree-create">Create a worktree from an existing branch</a>
</li>
<li><a href="#worktree-switch">Switch to a worktree</a></li>
<li><a href="#worktree-delete">Delete a worktree</a></li>
<li><a href="#references">References</a></li>
</ul>
<h4 id="status">Show git status</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
</ul>
<h4 id="help">Show help</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>?</kbd> get help</li>
</ul>
<h4 id="log">Show git log</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
</ul>
<h4 id="log-file">
Show all commits for the current file <sup><a href="#references-1">1</a></sup>
</h4>
<ul>
<li>
<kbd>SPC</kbd> <kbd>g</kbd> <kbd>f</kbd> <kbd>l</kbd> show git log for the
current file
</li>
</ul>
<h4 id="diff-range">Diff a range of commits</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a commit</li>
<li><kbd>V</kbd> to select the line</li>
<li>
use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on another commit
</li>
<li><kbd>d</kbd> <kbd>r</kbd> to show a diff of the range of commits</li>
</ul>
<h4 id="checkout-branch">Checkout a local branch</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>b</kbd> <kbd>b</kbd> checkout a branch</li>
<li>select or enter the branch name and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="checkout-commit">Checkout a commit</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a commit</li>
<li><kbd>b</kbd> <kbd>b</kbd> <kbd>ENTER</kbd> to checkout that commit</li>
</ul>
<h4 id="checkout-revision">Checkout a different revision of a file</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>
move point to the commit you want to checkout (using <kbd>j</kbd> and
<kbd>k</kbd>)
</li>
<li><kbd>O</kbd> (capital letter O) <kbd>f</kbd> reset a file</li>
<li>
hit <kbd>ENTER</kbd> to select the default revision selected above. (it will
look something like <code>master~4</code>)
</li>
<li>select a file</li>
<li>
<kbd>q</kbd> to close the log view and see the file at the selected revision
is staged
</li>
</ul>
<h4 id="open-revision">
Open a different revision of a file <sup><a href="#references-8">8</a></sup>
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>
move point to the commit you want to checkout (using <kbd>j</kbd> and
<kbd>k</kbd>)
</li>
<li>
<kbd>SPC</kbd> <kbd>g</kbd> <kbd>f</kbd>
<kbd>F</kbd> (<code>magit-find-file</code>) to open a file at a revision
</li>
<li><kbd>ENTER</kbd> to use the selected commit</li>
<li>select the name of the file to open</li>
</ul>
<h4 id="create-branch">Create a local branch from a remote branch</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>b</kbd> <kbd>c</kbd> create a branch</li>
<li>select or enter the remote branch and hit <kbd>ENTER</kbd></li>
<li>
hit <kbd>ENTER</kbd> to use the same name or enter a new name and hit
<kbd>ENTER</kbd>
</li>
</ul>
<h4 id="pull">Pull from upstream</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>F</kbd> <kbd>u</kbd> pull from upstream</li>
</ul>
<h4 id="push">Push to upstream</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>P</kbd> <kbd>u</kbd> push to upstream</li>
</ul>
<h4 id="commit">Stage files and commit</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li>use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a file</li>
<li><kbd>TAB</kbd> to show and hide the diff for the file</li>
<li>
<kbd>s</kbd> to stage a file (<kbd>u</kbd> to unstage a file and
<kbd>x</kbd> to discard changes to a file)
</li>
<li><kbd>c</kbd> <kbd>c</kbd> to commit</li>
<li>
write a commit message and save with <kbd>SPC</kbd> <kbd>f</kbd>
<kbd>s</kbd>
</li>
<li><kbd>,</kbd> <kbd>c</kbd> to finish the commit message</li>
</ul>
<h4 id="stage-hunks">
Stage specific hunks <sup><a href="#references-2">2</a></sup>
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li>
<kbd>M-n</kbd> / <kbd>M-p</kbd> to move to the "Unstaged changes" section
</li>
<li><kbd>j</kbd> / <kbd>k</kbd> to move to the desired file</li>
<li><kbd>TAB</kbd> to expand the hunks in the file</li>
<li><kbd>M-n</kbd> / <kbd>M-p</kbd> to move to different hunks</li>
<li><kbd>s</kbd> / <kbd>u</kbd> to stage or unstange hunks</li>
<li><kbd>x</kbd> to discard a hunk</li>
<li><kbd>c</kbd> <kbd>c</kbd> to commit</li>
<li>
Enter a commit message and save with <kbd>SPC</kbd> <kbd>f</kbd>
<kbd>s</kbd>
</li>
<li><kbd>,</kbd> <kbd>c</kbd> to finish the commit</li>
</ul>
<h4 id="merge-master">Merge master into the current branch</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>m</kbd> <kbd>m</kbd> merge</li>
<li>select or enter <code>master</code> and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="rebase-master">Rebase the current branch onto master</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>r</kbd> <kbd>e</kbd> rebase</li>
<li>select or enter <code>master</code> and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="interactive-rebase-squash">Use interactive rebase to squash commits</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a commit</li>
<li><kbd>r</kbd> <kbd>i</kbd> to start the interactive rebase</li>
<li>
use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a commit to
squash
</li>
<li>
<kbd>s</kbd> to mark the commit as to be squashed. (use
<kbd>s</kbd> multiple times to squash multiple commits.)
</li>
<li><kbd>,</kbd> <kbd>c</kbd> to make it happen</li>
<li>
edit the new squashed commit message and save with <kbd>SPC</kbd>
<kbd>f</kbd> <kbd>s</kbd>
</li>
<li><kbd>,</kbd> <kbd>c</kbd> to finish</li>
</ul>
<h4 id="interactive-rebase-reorder">
Use interactive rebase to reorder commits
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a commit</li>
<li><kbd>ri</kbd> to start the interactive rebase</li>
<li>
use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a commit to
reorder
</li>
<li>use <kbd>M-k</kbd> or <kbd>M-j</kbd> to move the commit up or down</li>
<li><kbd>,</kbd> <kbd>c</kbd> to make it happen</li>
</ul>
<h4 id="revert-commit">Revert a commit</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>
use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on the commit you
want to revert
</li>
<li><kbd>_</kbd> <kbd>O</kbd> (capital letter O) to revert the commit</li>
<li>
edit the commit message and save with <kbd>SPC</kbd> <kbd>f</kbd>
<kbd>s</kbd>
</li>
<li><kbd>,</kbd> <kbd>c</kbd> to finish</li>
</ul>
<h4 id="reset-commit">(Soft) reset the last commit</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>
use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor one commit before
the last one
</li>
<li><kbd>O</kbd> (capital letter O) <kbd>s</kbd> to soft reset</li>
<li>
the selected commit should be e.g. <code>master~1</code>. Hit
<kbd>ENTER</kbd>
</li>
</ul>
<h4 id="stash">Stash changes</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>z</kbd> <kbd>z</kbd> stash changes</li>
<li>enter stash message and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="pop-stash">Pop stash</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>z</kbd> <kbd>p</kbd> pop from stash</li>
<li>select the stash to pop and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="copy-commit-sha">
Copy git commit SHA <sup><a href="#references-3">3</a></sup>
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>l</kbd> <kbd>l</kbd> show log view</li>
<li>use <kbd>j</kbd> and <kbd>k</kbd> to position the cursor on a commit</li>
<li><kbd>y</kbd> <kbd>s</kbd> copy the git commit SHA</li>
</ul>
<h4 id="copy-text">
Copy text from a Magit buffer <sup><a href="#references-4">4</a></sup>
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>\</kbd> switch to text mode</li>
<li>copy text using normal vim keystrokes</li>
<li><kbd>\</kbd> switch back to Magit mode</li>
</ul>
<h4 id="run-shell">
Run a shell command <sup><a href="#references-5">5</a></sup>
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>!</kbd> <kbd>s</kbd> run a shell command</li>
<li>enter a command to run and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="list-branches">
List all branches <sup><a href="#references-6">6</a></sup>
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>y</kbd> <kbd>r</kbd> show refs</li>
</ul>
<h4 id="jump-section">
Jump to the next/prev section in the status view
<sup><a href="#references-7">7</a></sup>
</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>g</kbd> <kbd>j</kbd> jump to the next section</li>
<li><kbd>g</kbd> <kbd>k</kbd> jump to the previous section</li>
</ul>
<h4 id="worktree-create">Create a worktree from an existing branch</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li>
<kbd>?</kbd> <kbd>%</kbd> <kbd>b</kbd> create a worktree from an existing
branch
</li>
<li>select or enter the branch name and hit <kbd>ENTER</kbd></li>
<li>enter the path for the worktree and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="worktree-switch">Switch to a worktree</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>?</kbd> <kbd>%</kbd> <kbd>g</kbd> visit worktree</li>
<li>select or enter the path of the worktree and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="worktree-delete">Delete a worktree</h4>
<ul>
<li><kbd>SPC</kbd> <kbd>g</kbd> <kbd>s</kbd> show Magit status view</li>
<li><kbd>?</kbd> <kbd>%</kbd> <kbd>k</kbd> delete a worktree</li>
<li>select or enter the path of the worktree and hit <kbd>ENTER</kbd></li>
</ul>
<h4 id="references">References</h4>
<ol>
<li id="references-1">
<a href="https://twitter.com/iLemming/status/1058507342830923776">
https://twitter.com/iLemming/status/1058507342830923776
</a>
</li>
<li id="references-2">
<a href="https://github.com/emacs-evil/evil-magit">
https://github.com/emacs-evil/evil-magit
</a>
</li>
<li id="references-3">
<a href="https://twitter.com/a_simpson/status/749316494224265216">
https://twitter.com/a_simpson/status/749316494224265216
</a>
</li>
<li id="references-4">
<a href="https://twitter.com/iLemming/status/986074309234802688">
https://twitter.com/iLemming/status/986074309234802688
</a>
</li>
<li id="references-5">
<a href="https://twitter.com/_wilfredh/status/689955624080248833">
https://twitter.com/_wilfredh/status/689955624080248833
</a>
</li>
<li id="references-6">
<a href="https://emacs.stackexchange.com/a/27148">
https://emacs.stackexchange.com/a/27148
</a>
</li>
<li id="references-7">
<a href="https://www.youtube.com/watch?v=j-k-lkilbEs">
https://www.youtube.com/watch?v=j-k-lkilbEs
</a>
</li>
<li id="references-8">
<a
href="https://emacs.stackexchange.com/questions/7655/how-can-i-open-a-specific-revision-of-a-file-with-magit/7683#7683"
>
https://emacs.stackexchange.com/questions/7655/how-can-i-open-a-specific-revision-of-a-file-with-magit/7683#7683
</a>
</li>
</ol>
Switching from Emacs to Vim (actually Spacemacs)
2015-12-31T00:17:31-08:00https://www.saltycrane.com/blog/2015/12/switching-emacs-vim-actually-spacemacs/<p>
I <a href="/blog/2015/09/switching-osx-and-front-end-development/">
recently switched</a> from Linux to OS X and Python to Javascript.
To complete my fall from the Light, I've switched from Emacs to Vim.
Actually I just switched to
<a href="http://www.emacswiki.org/emacs/Evil">Evil Mode</a> and Spacemacs.
This is how I came to switch:
</p>
<ul>
<li>I discovered <a href="http://irreal.org/blog/?p=259">
OS X uses many Emacs key bindings</a> by default and I could set even more.
</li>
<li>I <a href="/blog/2008/07/on-quest-for-consistent-keybindings/">went back</a>
to the default key bindings in Emacs to be consistent with OS
X.<sup id="defaults"><a href="#defaults-footnote">1</a></sup>
</li>
<li>I <a href="http://emacsredux.com/blog/2013/11/12/a-crazy-productivity-boost-remap-return-to-control/">
remapped Return to Control</a>
and started using both Control keys to help use the default Emacs key bindings.
Using both Control keys felt <em>amazing</em> compared to just one...</li>
<li>...until I began feeling Emacs Pinky since Return
was slightly farther than Caps Lock.<sup id="pinky"><a href="#pinky-footnote">2</a></sup></li>
<li>I tried remapping Spacebar to Control and this felt <em>even more amazing</em>...</li>
<li>...until I tried to type a sentence at normal speed.</li>
<li>I decided I didn't want to <a href="http://stackoverflow.com/questions/52492/what-is-the-best-way-to-avoid-getting-emacs-pin">buy a foot pedal</a>.</li>
<li>I tried Spacemacs.</li>
<li>I set bash and <a href="https://pqrs.org/osx/karabiner/">Karabiner</a> to Vim
mode.<sup id="vimium"><a href="#vimium-footnote">3</a></sup>
</li>
<li>I set
<a href="/blog/2017/07/how-map-caps-lock-escape-when-tapped-and-control-when-held-mac-os-sierra/">
Caps Lock to Escape and Control</a>.
</li>
<li>I started looking for Vim screencasts.<sup id="screencasts"><a href="#screencasts-footnote">4</a></sup></li>
</ul>
<p>
Even after 3 months, I'm still working a lot slower, but I'm hoping it's a good investment.
One thing I've noticed is that Vim seems to use a lot of number and symbol keys.
I need to learn to touch type my numbers! <em>Update 2017-07-31:</em> After 1.5 years, I'm still
enjoying Spacemacs and Vim key bindings (and I've gotten better at my numbers). I find Vim mode
more relaxing compared to the many key chords used in Emacs. A few of my favorite commands are
<code>f</code>/<code>t</code> to jump to a character on a line and <code>.</code> and
<code>;</code> to repeat commands.
</p>
<h4 id="spacemacs">Spacemacs</h4>
<img class="img-responsive" alt="spacemacs screenshot" src="/site_media/image/blog/spacemacs.gif">
<p>
<a href="http://spacemacs.org">
Spacemacs</a> is an Emacs starter kit<sup id="starter-kit"><a href="#starter-kit-footnote">5</a></sup> (like Emacs Prelude) optimized for Vim key bindings.
It provides the "best of both worlds" –
the efficiency of Vim's modal editing and the extensibility of Emacs Lisp.
</p>
<p>
Spacemacs replaces many Emacs modifier combinations
by setting a <a href="http://usevim.com/2012/07/20/vim101-leader/">leader key</a>
to the Spacebar (hence the name <em>space</em>macs).
To open a file, use <code>SPC f f</code> instead of <code>C-x C-f</code>.
Spacemacs makes commands easily discoverable using
<a href="https://github.com/justbur/emacs-which-key">which-key</a>.
Just press SPC to see a list of commands, press a key and see more commands.
</p>
<p>
Spacemacs has a good out-of-the-box configuration for Javascript and React development.
It uses js2-mode, web-mode<sup id="web-mode"><a href="#web-mode-footnote">6</a></sup> for JSX, flycheck w/ eslint, <a href="http://ternjs.net/">tern</a>, and some things I haven't used.
</pre>
<h4 id="install">Install Spacemacs</h4>
<p>Here's how to install Spacemacs on OS X.</p>
<ul>
<li>Install Emacs
<pre class="console">$ brew install emacs --with-cocoa --with-gnutls --with-imagemagick </pre>
</li>
<li>Install Spacemacs
<pre class="console">$ mv ~/.emacs.d ~/.emacs.d.bak # if you have an exisiting .emacs.d directory
$ git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d </pre>
</li>
<li>Start Emacs (in terminal mode). This will download and compile packages and
ask if you want to use vim mode or emacs mode.
<pre class="console">$ emacs </pre>
</li>
</ul>
<h4 id="client-server">Start Emacs in client/server mode</h4>
<ul>
<li>Start the Emacs server
<pre class="console">$ emacs --daemon </pre>
</li>
<li>Start an Emacs client in the terminal
<pre class="console">$ emacsclient -t </pre>
</li>
<li>Start a graphical Emacs client
<pre class="console">$ emacsclient -c </pre>
</li>
</ul>
<h4 id="config">Spacemacs config</h4>
<p>
Spacemacs has its own configuration file located at <code>~/.spacemacs</code>
or <code>~/.spacemacs.d/init.el</code>. For more information, see the
<a href="https://github.com/syl20bnr/spacemacs/blob/master/doc/DOCUMENTATION.org#dotfile-configuration">configuration documentation</a>.
My personal Spacemacs configuration is <a href="https://github.com/saltycrane/.spacemacs.d">
on github</a>.
</p>
<h4 id="commands">Useful Spacemacs commands</h4>
<pre>SPC q q - quit
SPC w / - split window vertically
SPC w - - split window horizontally
SPC 1 - switch to window 1
SPC 2 - switch to window 2
SPC w d - delete current window
SPC TAB - switch to previous buffer
SPC b b - switch buffers
SPC f f - find a file
SPC f s - save a file (:w also works)
SPC p p - open project
SPC p h - find a file in current project
SPC b d - delete current buffer
SPC b M - move buffer to another window
SPC v - enter expand-region mode
</pre>
<h4 id="vim-bindings">Useful Vim key bindings</h4>
<pre>movement
--------
0 - beginning of line
^ - beginning of non-whitespace
$ - end of line
9j - move down 9 lines
w - move forward by word
b - move backward by word
gg - first line
G - last line
C-u - up half page
C-d - down half page
f/ - move forward to first "/" character
t/ - move forward right before the first "/" character
; - repeat that command again
H - head of the screen
M - middle of the screen
L - last of the screen
} - move forward by paragraph or block
{ - move backwards by paragraph or block
* - search for word under the cursor
n - search again forward
N - search again backwards
# - search backwards for word under cursor
/ - search forward
? - search backward
% - find matching brace, paren, etc
ma - mark a line in a file with marker "a"
`a - after moving around, go back to the exact position of marker "a"
'a - after moving around, go back to line of marker "a"
:marks - view all the marks
'' - go to the last place you were
[{ - jump back to the "{" at the beginning of the current code block
editing
-------
x - delete char under cursor
X - delete char before cursor
A - add to end of line
I - insert at the beginning of the line
dd - delete line
D - delete from cursor to end of line
di' - delete text inside single quotes
yy - copy line
Y - copy from cursor to end of line
cc - change line
C - change from cursor to end of line
cit - change text inside html tag
ci' - change text inside single quotes
ci{ - change text inside curly brackets.
ci... - etc
p - paste after cursor
P = paste before cursor
o - add line below
O - add line above
. = repeat last comment
r - replace character
R - replace. (overwrite) (good for columns of text)
J - join line (cursor can be anywhere on line)
visual mode
-----------
v - visual char mode
V - visual line mode
C-v - block visual mode
</pre>
<hr>
<small>
<ol>
<li id="defaults-footnote">
And to be consistent with other machines or programs using Emacs or Emacs key bindings.
Mandatory Eclipse for a 4 day Hadoop training emphasized this need.
[<a href="#defaults">back</a>]
</li>
<li id="pinky-footnote">
At this point, I probably could have learned to move my hand 2 cm to the right,
but I have been <a href="/blog/2007/08/current-configuration/#editor">curious about Vim</a>
for a while now. <em>Update 2017-07-31:</em> mabye a better alternative is using semicolon
instead of Enter as the right Control key as
<a href="https://github.com/tekezo/Karabiner-Elements/issues/8#issuecomment-307668284">
mentioned here</a>.
[<a href="#pinky">back</a>]
</li>
<li id="vimium-footnote">
Later I also installed <a href="https://vimium.github.io/">Vimium</a>.
[<a href="#vimium">back</a>]
</li>
<li id="screencasts-footnote">
I found some excellent Vim screencasts here:
<a href="http://derekwyatt.org/vim/tutorials/">http://derekwyatt.org/vim/tutorials/</a>.
[<a href="#screencasts">back</a>]
</li>
<li id="starter-kit-footnote">
Though some <a href="http://www.lunaryorn.com/2016/01/26/why-spacemacs.html">
don't call it a starter kit</a>.
[<a href="#starter-kit">back</a>]
</li>
<li id="web-mode-footnote">Hat tip to web-mode's author/maintainer. I created
<a href="https://github.com/fxbois/web-mode/issues/632">an issue</a>
about JSX indentation and it was fixed in less than a day.
[<a href="#web-mode">back</a>]
</li>
</ol>
</small>
Colorized, interactive "git blame" in Emacs: vc-annotate
2011-05-28T10:57:28-07:00https://www.saltycrane.com/blog/2011/05/colorized-interactive-git-blame-emacs-vc-annotate/<a href="https://picasaweb.google.com/lh/photo/KIF7W9K8-RwAC_geRR7eYg?feat=embedwebsite"><img src="https://lh6.googleusercontent.com/-A7iKHU0dAxc/TeEzuqkSKhI/AAAAAAAAAZM/mQSYYmCJQVU/s400/vc-annotate-emacs.png" height="382" width="400" /></a>
<p>A few months ago, I learned that
<a href="http://www.gnu.org/software/libtool/manual/emacs/Old-Revisions.html">
vc-annotate
</a> displays a nicely colorized
<a href="http://www.kernel.org/pub/software/scm/git/docs/git-blame.html">
<code>git blame</code></a> in Emacs.
Today I learned that it is also interactive. I can cycle through revisions
using <code>p</code> and <code>n</code>, open the file at a specified revision
with <code>f</code>, view the log with <code>l</code>, and show a diff
with <code>d</code> or changeset diff with <code>D</code>. (Unfortunately,
the diff is ugly and not in color.)
</p>
<p><code>vc-annotate</code> is included with Emacs. To use, open a version controlled file, and type <code>C-x v g</code> or
<code>M-x vc-annotate</code>
</p>
<p>I am using Emacs 23.1 on Ubuntu Maverick</p>
My Emacs Python environment
2010-05-10T10:29:32-07:00https://www.saltycrane.com/blog/2010/05/my-emacs-python-environment/<h4 id="python-mode">Python mode</h4>
<p>There are two Python modes: <a href="https://launchpad.net/python-mode">
<code>python-mode.el</code></a> created by
the Python community and
<a href="http://www.loveshack.ukfsn.org/emacs/#python.el"><code>python.el</code></a>
created by the Emacs
community (David Love). The first version of <code>python.el</code>
was included in Emacs 22 and an improved version was included in Emacs 23.
I am currently using the default <code>python.el</code> included with Emacs 23.
Below are some useful commands. For a complete list, open a Python file and
run <code>M-x apropos RET python RET</code>
</p>
<dl>
<dt><code>python-shift-left</code>, <code>C-c C-<</code></dt><dd>Decrease
indentation of the region</dd>
<dt><code>python-shift-right</code>, <code>C-c C-<</code></dt><dd>Increase
indentation of the region</dd>
<dt><code>python-switch-to-python</code>, <code>C-c C-z</code></dt><dd>Start
(or switch) to a Python shell</dd>
<dt><code>python-send-buffer</code>, <code>C-c C-c</code></dt><dd>Run the
current buffer in the Python interpreter</dd>
<dt><code>python-send-region</code>, <code>C-c C-r</code></dt><dd>Run the
selected code in the Python interpreter</dd>
<dt><code>python-describe-symbol</code>, <code>C-c C-f</code></dt><dd>Get help
on a Python symbol (Better than visiting the slow Python website, right?)</dd>
</dl>
<h5>Configuration (<code>~/.emacs</code> changes)</h5>
<pre>(setq-default indent-tabs-mode nil) ; use only spaces and no tabs
(setq default-tab-width 4)</pre>
<h4 id="ropemacs">Ropemacs</h4>
<p><a href="http://rope.sourceforge.net/ropemacs.html">Ropemacs</a>
is an Emacs plugin to use <a href="http://rope.sourceforge.net/">Rope</a>,
a powerful Python refactoring library.
It supports code completion, renaming, and other refactoring.
<a href="http://pymacs.progiciels-bpi.ca/">Pymacs</a> is a prerequisite
for Ropemacs. Below are some useful commands. For more information,
look in the Rope menu.
</p>
<dl>
<dt><code>rope-code-assist</code>, <code>M-/</code></dt><dd>Code completion</dd>
<dt><code>rope-rename</code>, <code>C-c r r</code></dt><dd>Rename a
variable, function, etc.</dd>
</dl>
<h5>Installation</h5>
<p>Note: pip install does not work with v0.25. Need to use `make install`</p>
<ul>
<li>Install Pymacs (Emacs part)
<pre class="console">$ curl -L https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
$ cd pinard-Pymacs-016b0bc
$ make
$ mkdir -p ~/.emacs.d/vendor/pymacs-0.24-beta2
$ cp pymacs.el ~/.emacs.d/vendor/pymacs-0.24-beta2/pymacs.el
$ emacs -batch -eval '(byte-compile-file "~/.emacs.d/vendor/pymacs-0.24-beta2/pymacs.el")' </pre>
</li>
<li>Install Pymacs (Python part)
<pre class="console">$ sudo pip install https://github.com/pinard/Pymacs/tarball/v0.24-beta2 </pre>
</li>
<li>Install Ropemacs and Rope
<pre class="console">$ sudo pip install http://bitbucket.org/agr/ropemacs/get/tip.tar.gz </pre>
</li>
<li>Edit ~/.emacs to use Ropemacs
<pre>(add-to-list 'load-path "~/.emacs.d/vendor/pymacs-0.24-beta2")
(require 'pymacs)
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)</pre>
</li>
</ul>
<h4 id="autocomplete">Auto Complete Mode</h4>
<p><a href="http://cx4a.org/software/auto-complete/">Auto Complete Mode</a>
is an extension to make Emacs auto-completion nicer. It creates a drowpdown
in the middle of your text. It can use Ropemacs as a backend.
</p>
<ul>
<li>Download, unpack and byte-compile
<pre class="console">$ cd ~/.emacs.d/vendor
$ curl http://cx4a.org/pub/auto-complete/auto-complete-1.2.tar.bz2 | tar jx
$ cd auto-complete-1.2
$ make byte-compile
</pre>
</li>
<li>Edit ~/.emacs
<pre>(add-to-list 'load-path "~/.emacs.d/vendor/auto-complete-1.2")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/vendor/auto-complete-1.2/dict")
(ac-config-default)</pre>
</li>
</ul>
<h4 id="yasnippet">Yasnippet</h4>
<p><a href="http://code.google.com/p/yasnippet/">YASnippet</a> is a template
system inspired by Textmate. <a href="http://www.youtube.com/watch?v=76Ygeg9miao#t=01m47s">
Demo on YouTube</a>
</p>
<h4 id="flymake-pyflakes-pep8">Code checking option 1: On-the-fly w/ Flymake</h4>
<a href="http://flymake.sourceforge.net/">Flymake</a> is part of Emacs 23.
<a href="http://pypi.python.org/pypi/pyflakes">PyFlakes</a>.
<a href="http://pypi.python.org/pypi/pep8">pep8</a>.
See also <a href="http://pypi.python.org/pypi/pylint">pylint</a>.
<a href="http://stackoverflow.com/questions/1259873/how-can-i-use-emacs-flymake-mode-for-python-with-pyflakes-and-pylint-checking-cod">Reference</a>.
Note: <code>flymake-cursor.el</code> is not required, but it makes flymake less obtrusive.
</p>
<ul>
<li>Install PyFlakes and pep8
<pre class="console">$ sudo pip install pyflakes pep8</pre>
</li>
<li>Get
<a href="http://www.emacswiki.org/emacs/flymake-cursor.el"><code>flymake-cursor.el</code></a>
and save it as <code>~/.emacs.d/vendor/flymake-cursor.el</code>.
</li>
<li>Edit <code>~/.emacs</code>:
<pre>(add-to-list 'load-path "~/.emacs.d/vendor")
(add-hook 'find-file-hook 'flymake-find-file-hook)
(when (load "flymake" t)
(defun flymake-pyflakes-init ()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "pycheckers" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" flymake-pyflakes-init)))
(load-library "flymake-cursor")
(global-set-key [f10] 'flymake-goto-prev-error)
(global-set-key [f11] 'flymake-goto-next-error)</pre>
</li>
<li>Create <code>pycheckers</code>, make it executable, and put it on your PATH
<pre>#!/bin/bash
pyflakes "$1"
pep8 --ignore=E221,E701,E202 --repeat "$1"
true</pre>
</li>
</ul>
<h4 id="python-check">Code checking option 2: Manual checking w/ python-check</h4>
<p><a href="http://divmod.org/trac/wiki/DivmodPyflakes">PyFlakes</a> is a Lint-like
tool for Python. It is like <a href="http://pychecker.sourceforge.net/">PyChecker</a>,
but it is fast. PyFlakes can be run from within Emacs using the default
python mode in Emacs23.
<ul>
<li>Install PyFlakes
<pre class="console">$ sudo pip install pyflakes</pre>
</li>
<li>Edit <code>~/.emacs</code>
<pre>(setq python-check-command "pyflakes")</pre>
</li>
<li>From Emacs, while visiting a Python file, run <code>M-x python-check</code>
or <code>C-c C-v</code> or <code>C-c C-w</code>.
</li>
</ul>
<h4 id="django">Django</h4>
<p>
<a href="http://code.djangoproject.com/wiki/Emacs">Reference</a>
</p>
<ul>
<li>
<pre class="console">$ wget http://ourcomments.org/Emacs/DL/elisp/nxhtml/zip/nxhtml-2.08-100425.zip
$ unzip nxhtml-2.08-100425.zip
</pre>
</li>
<li>
<pre>(load "~/.emacs.d/nxhtml/autostart.el")
(setq mumamo-background-colors nil)
(add-to-list 'auto-mode-alist '("\\.html$" . django-html-mumamo-mode))
</pre>
</li>
</ul>
<h4 id="references">References</h4>
<ul>
<li><a href="http://www.enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide/">
EnigmaCurry: Emacs as a powerful Python IDE</a> (<em>2008-03-09</em>)</li>
<li><a href="http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/">
EnigmaCurry: AutoComplete.el : Python Code Completion in Emacs</a> (<em>2009-01-21</em>)</li>
<li><a href="http://hide1713.wordpress.com/2009/01/30/setup-perfect-python-environment-in-emacs/">
Lei Chen: Setup Perfect Python Environment In Emacs</a> (<em>2009-01-30</em>)</li>
<li><a href="http://stackoverflow.com/questions/362522/switching-from-python-mode-el-to-python-el">
Stack Overflow: Switching from python-mode.el to python.el</a> (<em>2008-12-12</em>)</li>
<li><a href="http://stackoverflow.com/questions/750267/python-emacs-completion">
Stack Overflow: python emacs completion</a>(<em>2009-04-15</em>)</li>
<li><a href="http://stackoverflow.com/questions/1259873/how-can-i-use-emacs-flymake-mode-for-python-with-pyflakes-and-pylint-checking-cod">
Stack Overflow: How can I use Emacs Flymake mode for python with pyflakes and pylint checking code?</a></li>
<li><a href="http://jesselegg.com/archives/2010/02/25/emacs-python-programmers-part-1/">
Jesse D. Legg: Emacs for Python Programmers: Basics</a> (<em>2010-03-14</em>)</li>
<li><a href="http://jesselegg.com/archives/2010/03/14/emacs-python-programmers-2-virtualenv-ipython-daemon-mode/">
Jesse D. Legg: Emacs for Python Programmers #2: Virtualenv, IPython & Daemon Mode</a>
(<em>2010-03-14</em>)</li>
<li><a href="http://pymacs.progiciels-bpi.ca/pymacs.html#installation">
Pymacs installation documentation</a></li>
<li><a href="http://edward.oconnor.cx/2008/02/ropemacs">
Edward O'Connor: ropemacs</a> (<em>2008-02-27</em>)</li>
<li><a href="http://neuroimaging.scipy.org/site/doc/manual/html/devel/tools/tricked_out_emacs.html#ropemacs">
NIPY Documentation: Tricked out emacs for python coding</a></li>
<li><a href="http://richardriley.net/projects/emacs/dotprogramming">
Richard Riley: Emacs programming customisations</a></li>
<li><a href="http://www.gnu.org/software/emacs/manual/html_mono/flymake.html">
Emacs Documentation: Flymake</a></li>
<li><a href="http://amix.dk/blog/post/19361">
amix.dk: Static checking Python code</a></li>
</ul>
<h4 id="see-also">See also</h4>
<ul>
<li><a href="http://www.rwdev.eu/articles/emacspyeng">
Emacs Python completion (library)</a></li>
<li><a href="http://cedet.sourceforge.net/">
CEDET (library)</a></li>
<li><a href="http://blog.doughellmann.com/2009/12/switching-development-contexts-with.html">
Doug Hellmann: Switching development contexts <em>[in Emacs]</em> with virtualenvwrapper</a></li>
<li><a href="http://blog.dreid.org/2010/02/mimicing-source-virtualenvbinactivate.html">
Lacking Credibility: Mimicing source virtualenv/bin/activate in Emacs</a></li>
</ul>
Emacs espresso-mode for jQuery
2010-03-10T19:25:47-08:00https://www.saltycrane.com/blog/2010/03/emacs-espresso-mode-jquery/<p>Because <a href="http://code.google.com/p/js2-mode/">js2-mode</a> (20090723b)
indents <a href="http://jquery.com/">jQuery</a> like this:</p>
<pre class="js">$(document).ready(function() {
$("a").click(function() {
alert("Hello World");
});
});</pre>
<p>instead of this:</p>
<pre class="js">$(document).ready(function() {
$("a").click(function() {
alert("Hello World");
});
});</pre>
<p>I've switched to <a href="http://www.nongnu.org/espresso/">espresso-mode</a>.
Here's my install notes:</p>
<ul>
<li>Download
<pre>$ cd ~/.emacs.d/site-lisp
$ wget http://download.savannah.gnu.org/releases-noredirect/espresso/espresso.el</pre>
</li>
<li>Edit your <code>.emacs</code>:
<pre>(add-to-list 'load-path "~/.emacs.d/site-lisp")
(autoload #'espresso-mode "espresso" "Start espresso-mode" t)
(add-to-list 'auto-mode-alist '("\\.js$" . espresso-mode))
(add-to-list 'auto-mode-alist '("\\.json$" . espresso-mode))</pre>
</li>
<li>Start emacs and byte-compile espresso.el:
<pre>M-x byte-compile-file RET ~/.emacs.d/site-lisp/espresso.el</pre>
</li>
</ul>
<p><em>Side note:</em> I just realized it is "espresso-mode" and not "expresso-mode".</p>
Notes on C++ development with Emacs on Ubuntu Linux
2009-07-08T17:28:02-07:00https://www.saltycrane.com/blog/2009/07/notes-c-development-emacs-ubuntu-linux/<p>
Here are my notes on setting up an Emacs C++ development environment.
I'm using <a href="http://gcc.gnu.org/">GNU g++</a> (4.3.3),
<a href="http://www.gnu.org/software/make/">GNU make</a> (3.81),
<a href="http://www.gnu.org/software/gdb/">GNU gdb</a> (3.8-debian),
and <a href="http://www.gnu.org/software/emacs/">GNU emacs</a> (23.0.92.1 built from CVS 2009-04-22)
on <a href="http://www.ubuntu.com/">Ubuntu Linux</a> (9.04 Jaunty Jackalope).
</p>
<h4>Install tools</h4>
<p>If you don't already have <code>g++</code>, <code>make</code>, and <code>gdb</code>, install them:</p>
<pre>sudo apt-get install g++ make gdb</pre>
<h4>Create files</h4>
<ul>
<li>Create a project directory:
<pre>mkdir helloworld</pre>
</li>
<li>Create a source file <code>helloworld/hello.cpp</code>:
<pre>#include <iostream>
int main(void)
{
char greeting[] = "Hello World!";
std::cout << greeting << std::endl;
return 0;
}</pre>
</li>
<li>Create a makefile <code>helloworld/Makefile</code>:
<pre class="Makefile"># Makefile for GNU g++
CC=g++
CFLAGS=-g -Wall
all: hello
hello: hello.cpp
$(CC) $(CFLAGS) -o hello hello.cpp
clean:
rm hello
</pre>
</li>
</ul>
<h4>Compile within Emacs</h4>
<p>See also: <a href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html.gz#Building">
32 Compiling and Testing Programs</a> in the GNU Emacs manual.</p>
<ul>
<li>Open <code>hello.cpp</code> in Emacs</li>
<li>
<pre>M-x compile RET</pre>
<pre>make -k RET</pre>
<p><em>Note:</em> The default compile command is <code>make -k</code>.
You can change the default command by setting the <code>compile-command</code>
variable in your <code>.emacs</code> file.</p>
</li>
<li>Useful commands in the compilation window:
<ul>
<li><code>C-x `</code>: Go to next error in the code</li>
<li><code>M-n</code>: Go to next error message</li>
<li><code>M-p</code>: Go to previous error message</li>
<li><code>RET</code>: Go to the source code for the current error message</li>
</ul>
</li>
</ul>
<h4>Run using Emacs shell</h4>
<ul>
<li>
<pre>M-! ./hello RET</pre>
<p>You should see the output in the minibuffer.</p>
</li>
</ul>
<h4>Debug with gdb in Emacs</h4>
<p>For more information see:
<a href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html.gz#Debuggers">
32.6 Running Debuggers Under Emacs</a> in the GNU Emacs manual.</p>
<ul>
<li>To show multiple debugging windows such as breakpoints, locals, etc.,
set the <code>gdb-many-windows</code> variable in <code>~/.emacs</code>:
<pre>(setq gdb-many-windows t)</pre>
Restart Emacs.<br><br>
</li>
<li>Start the debugger. While visiting <code>helloworld/hello.cpp</code>:
<pre>M-x gdb RET --annotate=3 hello RET</pre>
</li>
<li>Set a breakpoint by clicking in the left margin at the desired location.</li>
<li>Run the debugger by typing <code>run</code> at the <code>(gdb)</code> prompt
in the <code>*gud-hello*</code> buffer.
</li>
<li>In the GUD buffer, use the following commands:
<ul>
<li><code>C-c C-s</code> Step into</li>
<li><code>C-c C-n</code> Stev over</li>
<li><code>C-c C-p</code> Evaluate the expression at point.</li>
<li><code>C-c C-r</code> Continue</li>
<li><code>C-c C-u</code> Continue until current line</li>
</ul>
<br>
</li>
<li>When finished, type <code>quit</code> at the <code>(gdb)</code> prompt.</li>
</ul>
<h4>Documentation:</h4>
<ul>
<li><a href="http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/">GNU gcc 4.4</a></li>
<li><a href="http://www.gnu.org/software/make/manual/make.html">GNU make</a></li>
<li><a href="http://www.gnu.org/software/emacs/manual/">GNU Emacs manuals</a></li>
<li><a href="http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html">GNU gdb</a></li>
</ul>
<h4>References</h4>
<ul>
<li><em>Practical C++ Programming, 2nd Edition</em> by Steve Oualine (2004)</li>
<li><em>Learning GNU Emacs, 3rd Edition</em> by Debra Cameron et al. (2004)</li>
<li><a href="http://www.linuxjournal.com/article/5765">Emacs: the Free Software IDE</a>
at the Linux Journal (2002)</li>
</ul>
Creating remote server nicknames with .ssh/config
2008-11-20T15:01:35-08:00https://www.saltycrane.com/blog/2008/11/creating-remote-server-nicknames-sshconfig/<p>Using the <code>~/.ssh/config</code> file is an easy way to give your
remote machines nicknames and reduce the number of keystrokes needed
to login with <code>ssh</code>, <code>rsync</code>,
<code>hg push</code>/<code>pull</code>/<code>clone</code>, access
files via <a href="http://www.gnu.org/software/tramp/">Emacs Tramp</a>
(Transparent Remote (file) Access, Multiple Protocol),
or use any other SSH-based tool. You can also set other ssh options such
as <code>IdentityFile</code>, <code>Port</code>, or <code>CompressionLevel</code>.
For more information and a full list of options, check out the man page for <code>ssh_config</code> or
<a href="http://kimmo.suominen.com/docs/ssh/#config">this article</a>
by Kimmo Suominen.
</p>
<p>Here is part of my <code>~/.ssh/config</code> file. It defines the
nicknames turk, tyran, tuna, and tally for some EC2 servers I've been
working with.</p>
<pre>Host turk
User root
HostName ec2-67-202-21-122.compute-1.amazonaws.com
Host tuna
User root
HostName ec2-75-101-178-62.compute-1.amazonaws.com
Host tyran
User root
HostName ec2-67-202-43-207.compute-1.amazonaws.com
Host tally
User root
HostName ec2-67-202-59-207.compute-1.amazonaws.com</pre>
<p>Now, wherever I would normally have typed
<code>root@ec2-67-202-21-122.compute-1.amazonaws.com</code>,
I can just type <code>turk</code>. Here are some examples.</p>
<h4>SSH login</h4>
<p>Old way:</p>
<pre>ssh root@ec2-67-202-21-122.compute-1.amazonaws.com</pre>
<p>New way:</p>
<pre>ssh turk</pre>
<h4>rsync</h4>
<p>Old way:</p>
<pre>rsync -avz myproject root@ec2-67-202-21-122.compute-1.amazonaws.com:/srv</pre>
<p>New way:</p>
<pre>rsync -avz myproject turk:/srv</pre>
<h4>Mercurial</h4>
<p>Old way:</p>
<pre>hg push ssh://root@ec2-67-202-21-122.compute-1.amazonaws.com//srv/myproject</pre>
<p>New way:</p>
<pre>hg push ssh://turk//srv/myproject</pre>
<h4>Emacs Tramp</h4>
<p>To use your <code>~/.ssh/config</code> with Emacs Tramp, you will need
something like the following in your <code>.emacs</code>:</p>
<pre>(tramp-set-completion-function "ssh"
'((tramp-parse-sconfig "/etc/ssh_config")
(tramp-parse-sconfig "~/.ssh/config")))</pre>
<p>Old way:</p>
<pre>C-x C-f /root@ec2-67-202-21-122.compute-1.amazonaws.com:/srv/myproject/myfile.py</pre>
<p>New way:</p>
<pre>C-x C-f /turk:/srv/myproject/myfile.py</pre>
<h4>scp</h4>
<p>Old way:</p>
<pre>scp etc/.screenrc root@ec2-67-202-21-122.compute-1.amazonaws.com:/root</pre>
<p>New way:</p>
<pre>scp etc/.screenrc turk:/root</pre>
Emacs notes
2008-11-03T22:02:45-08:00https://www.saltycrane.com/blog/2008/11/emacs-notes/<p>Note: I am using Emacs 23.1 on Ubuntu Jaunty Linux</p>
<h4 id="js2-mode">js2-mode (for javascript)</h4>
<p>I tried to byte-compile js2-mode in Emacs 23.0.60.1, using
<code>M-x byte-compile-file RET js2.el RET</code> from within
Emacs, but I got a <code>Error: Variable binding depth exceeds max-specpdl-size</code>
message. Luckily the comments on the
<a href="http://code.google.com/p/js2-mode/wiki/InstallationInstructions">Installation
Instructions</a> page on the wiki had help for this.</p>
<pre>
$ cd ~/.emacs.d/site-lisp
$ wget http://js2-mode.googlecode.com/files/js2-20080616a.el
$ emacs --batch --eval '(byte-compile-file "js2-20080616a.el")'
</pre>
<p>I added the following to my ~/.emacs:</p>
<pre>(autoload 'js2-mode "js2-20080616a" nil t)
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
</pre>
<p><em>Update 2010-03-11:</em> I've
<a href="/blog/2010/03/emacs-espresso-mode-jquery/">switched to
<code>espresso-mode</code></a>.</p>
<h4 id="php-mode">php-mode</h4>
<a href="http://php-mode.sourceforge.net/">http://php-mode.sourceforge.net/</a>
<pre>cd ~/incoming
wget http://downloads.sourceforge.net/project/php-mode/php-mode/1.5.0/php-mode-1.5.0.tar.gz
tar zxvf php-mode-1.5.0.tar.gz
cp -p php-mode-1.5.0/php-mode.el ~/.emacs.d/site-lisp/php-mode-1.5.0.el</pre>
<p>Add the following to your <code>.emacs</code>:</p>
<pre>(autoload 'php-mode "php-mode-1.5.0")
(add-to-list 'auto-mode-alist
'("\\.php[34]?\\'\\|\\.phtml\\'" . php-mode))</pre>
<h4 id="set-major-mode">How to manually set the major mode</h4>
<p>See <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html">
28.1 How Major Modes are Chosen</a> in the Emacs manual.
For example to change to js2-mode:</p>
<pre>M-x js2-mode</pre>
<h4 id="sudo-tramp">How to use sudo in Tramp</h4>
<p>note the two colons</p>
<pre>C-c C-f /sudo::/etc/apache2/httpd.conf</pre>
<p>alternatively:</p>
<pre>C-c C-f /sudo:root@localhost:/etc/apache2/httpd.conf</pre>
<h4 id="align-columns">How to align columns</h4>
<p><code>M-x align</code> may work but <code>M-x align-regexp</code> is more powerful.
</p>
<h4 id="replace-br-with-newline">How to replace <code><br></code> with a newline when using <code>replace-string</code></h4>
<p>Via <a href="http://jeremy.zawodny.com/blog/archives/008872.html">this article</a>,
hit <code>C-q C-j</code> to insert a newline character.</p>
<pre>M-x replace-string <br> RET C-q C-j</pre>
<h4 id="remove-ctrl-m-chars">How to remove ^M characters</h4>
<p>Use <code>C-q</code>, <code>quoted-insert</code> to insert a literal <code>^M</code> character.</p>
<pre>M-x replace-string C-q C-m RET RET</pre>
<h4 id="find-replace-multiple-files">How to search and replace in multiple files</h4>
<p><a href="http://stackoverflow.com/questions/270930/using-emacs-to-recursively-find-and-replace-in-text-files-not-already-open">
http://stackoverflow.com/questions/270930/using-emacs-to-recursively-find-and-replace-in-text-files-not-already-open
</a></p>
<ol>
<li>M-x find-name-dired: you will be prompted for a root directory and a filename pattern.</li>
<li>Press t to "toggle mark" for all files found.</li>
<li>Press Q for "Query-Replace in Files...": you will be prompted for query/substitution regexps.</li>
<li>Proceed as with query-replace-regexp: SPACE to replace and move to next match, n to skip a match, etc.</li>
</ol>
<h4 id="re-builder">How to test out regular expressions</h4>
<pre>M-x re-builder</pre>
How to set the font for new frames in Emacs 23
2008-10-29T11:14:09-07:00https://www.saltycrane.com/blog/2008/10/how-set-font-new-frames-emacs-23/<p>I had been using the following elisp to set my font in Emacs 23.
However, it did not work when creating new frames with <code>C-x 5 2</code>.</p>
<pre class="elisp">
(if (>= emacs-major-version 23)
(set-default-font "Monospace-11"))
</pre>
<p>Here is how I set the font for all frames:</p>
<pre class="elisp">
(if (>= emacs-major-version 23)
(modify-all-frames-parameters
'((font . "Monospace-11"))))
</pre>
<p>See the documentation for
<a href="http://www.gnu.org/software/emacs/elisp/html_node/Parameter-Access.html">
modify-all-frames-parameters</a> for more information.</p>
Installing Emacs 23 from <del>CVS</del>Bazaar source on Ubuntu <del>Hardy</del>Karmic
2008-10-01T17:10:10-07:00https://www.saltycrane.com/blog/2008/10/installing-emacs-23-cvs-ubuntu-hardy/<p>I have been using the <code>emacs-snapshot</code> package in Ubuntu Hardy.
However, when I tried to use <a href="http://www.gnu.org/software/tramp/">
Tramp</a>, I got an error message: <code>Variable binding depth exceeds
max-specpdl-size</code>. I couldn't find out how to fix this, and I
didn't want to use <a href="http://lists.gnu.org/archive/html/emacs-devel/2008-09/msg00213.html">
Emacs 22.3</a> because it doesn't have Xft (anti-aliased fonts),
so I decided to live on the bleeding edge and install Emacs 23
from CVS. Besides the INSTALL and INSTALL.CVS files, I also used
<a href="http://theblackdragon.wordpress.com/2006/04/27/installing-gnu-emacs-23-from-cvs/">
theBlackDragon's article</a> for reference.
</p>
<p><em>Update 2008-10-09:</em> I just found that Romain Francoise maintains an <a href="http://emacs.orebokech.com/">emacs-snapshot Debian package</a> and it has been
<a href="https://launchpad.net/~ubuntu-elisp/+archive">adapted for Ubuntu</a>.
This is an alternative to installing from source.</p>
<p><em>Update 2010-01-09:</em> Since Emacs has
<a href="http://lists.gnu.org/archive/html/emacs-devel/2009-12/msg00812.html">
switched from CVS to Bazaar</a>, I've updated these instructions to use
Bazaar. Also, I'm now running on Ubuntu 9.10 Karmic Koala instead of Ubuntu Hardy.</p>
<p><em>Update 2012-09-19:</em> Here are some additional Ubuntu 12.04 packages
I needed to install Emacs 24.2.</p>
<pre class="console">$ sudo apt-get install libgif-dev
$ sudo apt-get install libtiff4-dev
$ sudo apt-get install xaw3dg-dev
$ sudo apt-get install librsvg2-dev
$ sudo apt-get install libmagick++-dev
$ sudo apt-get install libgpm-dev
$ sudo apt-get install libgconf2-dev
$ sudo apt-get install libselinux1-dev
$ sudo apt-get install libm17n-dev
$ sudo apt-get install libotf-dev </pre>
<ul>
<li>Install Bazaar
<pre class="console">$ sudo apt-get install bzr</pre>
</li>
<li>Get the source code from the Bazaar repository
<pre class="console">$ cd ~/incoming
$ bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk emacs_trunk</pre>
</li>
<li><p>Read the INSTALL and INSTALL.BZR files in <code>~/incoming/emacs_trunk</code></p>
</li>
<li>Install prerequisites:
<pre class="console">$ sudo apt-get install build-essential
$ sudo apt-get build-dep emacs23</pre>
<p>To see what is installed by <code>build-dep</code>, see the
<a href="http://ns2.canonical.com/source/karmic/emacs23">emacs23 karmic package
page</a></p>
</li>
<li>Configure. The argument <code>--prefix=/home/saltycrane/lib/emacs-bzr-20100210</code> means
I am installing Emacs in <code>/home/saltycrane/lib/emacs-bzr-20100210</code>.
<pre class="console">$ cd ~/incoming/emacs_trunk
$ ./configure --prefix=/home/saltycrane/lib/emacs-bzr-20100210</pre>
</li>
<li>Per the INSTALL.BZR file, I needed to do a <code>make bootstrap</code>
instead of <code>make</code> because some files, such as byte-compiled
lisp files are not stored in Bazaar. Note, this takes a long time (over 10 min for me).
<pre class="console">$ make bootstrap</pre>
</li>
<li>Make <em>(Optional)</em>
<pre class="console">$ make</pre>
</li>
<li>Test it <em>(Optional)</em>
<pre class="console">$ src/emacs -q</pre>
</li>
<li>Install
<pre class="console">$ make install</pre>
</li>
<li>Create symlinks (~/bin is already on my <code>PATH</code>)
<pre class="console">$ ln -s ~/lib/emacs-bzr-20100210 ~/lib/emacs
$ cd ~/bin
$ ln -s ../lib/emacs/bin/* .</pre>
<p>Alternatively, I could add <code>~/lib/emacs-bzr-20100210/bin</code> to my
<code>PATH</code>.</p>
</li>
</ul>
<p>Now I have "<a href="http://peadrop.com/blog/2007/01/06/pretty-emacs/">Pretty
Emacs</a>" with working
<a href="http://jeremy.zawodny.com/blog/archives/000983.html">Tramp
for remote file access</a>. It also has
<a href="http://lorentey.hu/project/emacs.html.hu">multi-tty</a> support
which <del>is supposed to be very cool (but I haven't tried it yet)</del>
is very cool (e.g. for displaying my running desktop emacs process on
my Android phone.)
</p>
<h5>Error messages</h5>
<ul>
<li>
<pre class="console">configure: error: You do not seem to have makeinfo >= 4.6, and your
source tree does not seem to have pre-built manuals in the `info' directory.
Either install a suitable version of makeinfo, or re-run configure
with the `--without-makeinfo' option to build without the manuals.</pre>
Solution:
<pre class="console">$ sudo apt-get install texinfo</pre>
</li>
<li>
<pre class="console">configure: error: The following required libraries were not found:
libjpeg libgif/libungif libtiff
Maybe some development libraries/packages are missing?
If you don't want to link with them give
--with-jpeg=no --with-gif=no --with-tiff=no
as options to configure</pre>
Solution:
<pre class="console">$ sudo apt-get install libjpeg-dev libgif-dev libtiff4-dev</pre>
</li>
<li>
<pre class="console">Warning: arch-dependent data dir (/home/saltycrane/lib/emacs-bzr/libexec/emacs/23.1.92/i686-pc-linux-gnu/) does not exist.
Warning: Lisp directory `/home/saltycrane/lib/emacs-bzr/share/emacs/23.1.92/site-lisp' does not exist.
Warning: Lisp directory `/home/saltycrane/lib/emacs-bzr/share/emacs/site-lisp' does not exist.
Warning: Lisp directory `/home/saltycrane/lib/emacs-bzr/share/emacs/23.1.92/lisp' does not exist.
Warning: Lisp directory `/home/saltycrane/lib/emacs-bzr/share/emacs/23.1.92/leim' does not exist.
Warning: Could not find simple.el nor simple.elc</pre>
<p>This happened because I originally used <code>./configure --prefix=/home/saltycrane/lib/emacs-bzr</code>
and then renamed <code>~/lib/emacs-bzr</code> to <code>~/lib/emacs-bzr-20100210</code>.
Solution: don't rename the directory.</p>
</li>
</ul>
Emacs ruby-mode
2008-07-27T23:13:28-07:00https://www.saltycrane.com/blog/2008/07/notestoself-erb/<p>To install ruby-mode for emacs, I followed the
<a href="http://blog.modp.com/2007/09/ruby-mode-for-emacs.html">directions
at the digital sanitation engineering blog</a>. I pretty much did exactly the
same thing-- I don't know why I wrote my own post-- I suppose it is good just for
my records.
</p>
<pre>sofeng@crayola:~/etc
$ export SITE_LISP=~/etc/.emacs.d/site-lisp
sofeng@crayola:~/etc
$ svn export http://svn.ruby-lang.org/repos/ruby/trunk/misc $SITE_LISP/ruby
A /home/sofeng/etc/.emacs.d/site-lisp/ruby
A /home/sofeng/etc/.emacs.d/site-lisp/ruby/rubydb2x.el
A /home/sofeng/etc/.emacs.d/site-lisp/ruby/rubydb3x.el
A /home/sofeng/etc/.emacs.d/site-lisp/ruby/ruby-mode.el
A /home/sofeng/etc/.emacs.d/site-lisp/ruby/ruby-electric.el
A /home/sofeng/etc/.emacs.d/site-lisp/ruby/inf-ruby.el
A /home/sofeng/etc/.emacs.d/site-lisp/ruby/README
A /home/sofeng/etc/.emacs.d/site-lisp/ruby/ruby-style.el
Exported revision 18207.
sofeng@crayola:~/etc
$ emacs -batch -f batch-byte-complile $SITE_LISP/ruby
Loading 00debian-vars...
No /etc/mailname. Reverting to default...
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Skipping dictionaries-common setup for emacs-snapshot
Loading /etc/emacs/site-start.d/50psvn.el (source)...
Symbol's function definition is void: batch-byte-complile
sofeng@crayola:~/etc
$ ll ~/etc/.emacs.d/site-lisp/ruby
total 92
-rw-r--r-- 1 sofeng sofeng 369 2008 04/10 04:36 README
-rw-r--r-- 1 sofeng sofeng 14393 2008 01/06 07:49 inf-ruby.el
-rw-r--r-- 1 sofeng sofeng 6747 2007 02/12 15:01 ruby-electric.el
-rw-r--r-- 1 sofeng sofeng 44473 2008 07/21 17:51 ruby-mode.el
-rw-r--r-- 1 sofeng sofeng 1798 2008 04/22 06:15 ruby-style.el
-rw-r--r-- 1 sofeng sofeng 4481 2007 02/12 15:01 rubydb2x.el
-rw-r--r-- 1 sofeng sofeng 4613 2007 02/12 15:01 rubydb3x.el</pre>
<p>Then added the following to my <code>.emacs</code>:</p>
<pre>
(add-to-list 'load-path "~/.emacs.d/site-lisp/ruby")
(autoload 'ruby-mode "ruby-mode"
"Mode for editing ruby source files")
(add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode))
(add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))
(autoload 'run-ruby "inf-ruby"
"Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
"Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook
'(lambda ()
(inf-ruby-keys)))
;; If you have Emacs 19.2x or older, use rubydb2x
(autoload 'rubydb "rubydb3x" "Ruby debugger" t)
;; uncomment the next line if you want syntax highlighting
(add-hook 'ruby-mode-hook 'turn-on-font-lock)</pre>
On the quest for consistent keybindings
2008-07-09T17:53:00-07:00https://www.saltycrane.com/blog/2008/07/on-quest-for-consistent-keybindings/<p>I'm trying to get consistent keybindings in the applications
which I use the most starting with Emacs, then bash/screen,
conkeror (my web browser), and others like KPDF and OpenOffice.
I haven't got complete consistency, but I'm making progress.
Here are my notes on setting the keybindings for a few of the
applications. Maybe when I find the perfect setup, I will write
about my complete configuration. Until then, here are some sparse
notes. Note, for some reason, I've mixed in vi-style, h-j-k-l,
movement keybindings with the standard emacs keybindings. I use
control+h,j,k,l to move around by character or line and
meta+h,j,k,l to move by word or page. I've been using this for
several months and it works pretty well-- much better than using
pgup/pgdown and the arrow keys.</p>
<br /><br /><b>Emacs</b><br />
<p>Here is part of my <code>~/.emacs</code>:</p>
<pre>;; buffer switching
(iswitchb-mode t)
(global-set-key "\C-b" 'switch-to-buffer)
;; movement key bindings (use h-j-k-l for movement like vi)
(global-set-key "\C-l" 'forward-char)
(global-set-key "\C-h" 'backward-char)
(global-set-key "\C-j" 'next-line)
(global-set-key "\C-k" 'previous-line)
(global-set-key "\M-l" 'forward-word)
(global-set-key "\M-h" 'backward-word)
(global-set-key "\M-j" 'scroll-up)
(global-set-key "\M-k" 'scroll-down)
;; rebind displaced movement key bindings
(global-set-key "\C-p" 'kill-line)
(global-set-key "\M-v" 'downcase-word)
(global-set-key "\M-b" 'recenter)</pre>
<br /><br /><b>Readline (bash)</b><br />
<p>To change the keybindings for readline (bash), I edited my
<code>~/.inputrc</code>. Luckily, readline is very similar
to Emacs and there are a lot of commands that I didn't know
about. Here are a few examples. For a full
list of commands see the readline manpage.</p>
<pre># ~/.inputrc
"\C-h": backward-char
"\C-l": forward-char
"\M-h": backward-word
"\M-l": forward-word</pre>
<br /><br /><b>GNU Screen</b><br />
<p>Here are some keybindings I use in GNU Screen.
I use C-b to switch windows like Emacs buffers. I enter
copy mode by pressing M-k and exit by pressing C-g.
The "-m" means the keybinding is for copy mode only.
"stuff" is used to stuff some stuff into the input buffer.
"^" is used for Ctrl and "^[" is used for Meta (Alt).</p>
<pre># ~/.screenrc
bindkey "^B" select # like emacs switch buffers
bindkey "^[k" eval "copy" "stuff ^b"
bindkey "^k" eval "copy" "stuff k"
bindkey -m "^[j" stuff ^f # move down one page
bindkey -m "^[k" stuff ^b # move up one page
bindkey -m "^[h" stuff b # move backward word
bindkey -m "^[l" stuff w # move forward by word
bindkey -m "^j" stuff j # move down one line
bindkey -m "^k" stuff k # move up one line
bindkey -m "^h" stuff h # move back one character
bindkey -m "^l" stuff l # move forward one character
bindkey -m "^e" stuff $ # move to end of line
bindkey -m "^a" stuff 0 # move to beginning of line
bindkey -m "^f" stuff ^s # incremental search forward
bindkey -m "^ " stuff " " # set mark
bindkey -m "^g" stuff q # exit copy mode</pre>
<br /><br /><b>Conkeror</b><br />
<p>My <code>~/.conkerorrc</code> keybindings section is pretty
long, so I won't include it. But again, I use C-b to switch
buffers, and Ctrl and Meta plus h-j-k-l to navigate.
</p>
<br /><br /><b>OpenOffice.org</b><br />
<p>This is directly from Appendix A Keyboard Shortcuts in the
<a href="http://documentation.openoffice.org/manuals/oooauthors2/0118GS-KeyboardShortcuts.pdf">
<em>Getting Started Guide</em></a>. Unfortunately,
OpenOffice doesn't allow me to use the Meta (Alt) key for
custom keybindings so I can't use my usual Emacs keybindings.
Apparently, Peter in <a href="http://user.services.openoffice.org/en/forum/viewtopic.php?f=7&t=4809&p=22203">this
forum thread</a> had the same lament. If anyone knows how to
fix this, please let me know.</p>
<pre>
To adapt shortcut keys to your needs, use the Customize dialog, as described below.
1) Select Tools > Customize > Keyboard. The Customize dialog (Figure 1) opens.
2) To have the shortcut key assignment available in all components of OpenOffice.org select the
OpenOffice.org button.
3) Next select the required function from the Category and Function lists.
4) Now select the desired shortcut keys in the Shortcut keys list and click the Modify button at
the upper right.
5) Click OK to accept the change. Now the chosen shortcut keys will execute the function
chosen in step 3 above whenever they are pressed.
</pre>
<br /><br /><b>KPDF</b><br />
<p>I like KPDF better than Evince. I haven't tried anything else.
To change some keyboard shortcuts in KPDF go to "Settings",
"Configure Shortcuts..."</p>
Conkeror: "Firefox for Emacs users"
2008-01-28T17:31:00-08:00https://www.saltycrane.com/blog/2008/01/firefox-for-emacs-users/<p>I recently discovered
<a href="http://conkeror.mozdev.org/">Conkeror</a> via Bill Clementson's article,
<a href="http://bc.tech.coop/blog/060529.html"><em>Firefox for Emacs users
</em></a>. I must say it is pretty sweet. It's the type
of thing that makes you have to get up and go to the bathroom because it's
so exciting.</p>
<p>So I switched over to Emacs from Eclipse about 4 months ago. Though it has
been slow learning everything in Emacs, I am starting to feel pretty
comfortable now and actually feel uneasy when I'm using another editor.
It is very nice to be able to do everything with the keyboard in Emacs. I
can do all cursor movement, scrolling, and selection very nicely in Emacs.
And all text manipulation commands are immediately accessible from the
keyboard. Pair that with a bash command line running inside GNU screen,
and I can do about 50% of my work without using a mouse. Of the other 50%,
one big chunk is Microsoft Outlook which, as far as I know, I need because
we are using an Exchange server. But the other big chunk is web browsing,
which, up until now, has been very mouse dependent.</p>
<p>Enter Conkeror, the keyboard-driven web browser that "conkers" the web
without a mouse. (I just made that up, btw. I do not know the origin of
the name "Conkeror".) Conkeror is a Mozilla-based browser (e.g. Firefox) with
an Emacs-like skin. Emacs users should feel at right home-- screen-stealing
toolbars and menubars are gone. In their place is the modeline and
mini-buffer. Commands are entered using <code>M-x</code>, switch
buffers using <code>C-x b</code>, incremental search using <code>
C-s</code>, and edit text using Emacs editing conventions. (Being
a relative Emacs newbie, I actually rebound a lot of these to be more
Windows/Firefox friendly. But I expect long time Emacs users would rejoice.)
</p>
<p>In my opinion, the best part about Conkeror is the hyperlink navigation
design. Hitting the <code>f</code> key while browsing highlights all
possible hyperlinks (or focus areas) <em>within the current view</em>.
Limiting the scope of choices to the current view is smart because you
most likely won't want to follow a link that's not in the current view.
To follow a link, there are two options. The first is to type in the link
number which is overlaid in the top left corner of each link. The second
method is to start typing any part of the link text and tab through the
remaining selections. A different color highlight shows which link is
currently selected. The second method is very fast-- however, the first
method is more robust in that it can handle links with no text or a large
number of links with similar text.</p>
<p>Conkeror is currently being actively developed and can be considered to
be alpha stage software so there are issues and bugs. Also the documentation
seems to be pretty sparse. However, to me, it looks like a really great tool
with a potential for much more efficient and comfortable browsing. Kudos
to the authors.</p>
<p>Will I ditch Firefox for Conkeror? That question remains to be answered. I
hope the answer will be yes. I plan to use it for a few days and see if I run
across any deal-breakers. Hopefully, with Conkeror, I can up my mouseless
activity to around 70%.</p>
<p>Below are some notes on using Conkeror. I am using the snapshot XULRunner
version of Conkeror on Windows XP.</p>
<br /><br /><strong>How to set a proxy server</strong><br />
<p>Assuming you have your proxy configured in Firefox already...</p>
<ul><li>Type <code>g about:config</code> and hit ENTER in Conkeror.</li>
<li>Hit ENTER to promise you'll be careful.</li>
<li>Hit TAB to get to the "Filter:" box and type in "proxy".</li>
<li>Go to <code>about:config</code> in Firefox and filter on "proxy".</li>
<li>Make the relevant settings in Conkeror match Firefox. Make sure
you set "network.proxy.type" in addition to the proxy servers. (If you
were wondering, no, I don't know how to set these preferences without
using the mouse.)</li>
</ul>
<br /><br /><strong>Here is my .conkerorrc file:</strong><br />
<p>See also <a href="http://dotfiles.org/.conkerorrc">dotfiles.org</a> for a few more.</p>
<pre>// new bindings
define_key(default_global_keymap, "C-w", "kill-current-buffer");
// rebound from global.js
define_key(default_global_keymap, "h", "find-url");
define_key(default_global_keymap, "f1", default_help_keymap);
define_key(default_global_keymap, "b", "switch-to-buffer");
define_key(default_global_keymap, "C-f", "isearch-forward");
// note, i had to comment out the "C-f" binding in basic-commands.js to make this work
// rebound from isearch.js
define_key(isearch_keymap, "C-f", "isearch-continue-forward");
// rebound from normal.js
define_key(content_buffer_normal_keymap, "back_space", "go-back");
define_key(content_buffer_normal_keymap, "S-back_space", "go-forward");
// rebound from element.js
//define_key(content_buffer_normal_keymap, "k", "bookmark");
// rebound from basic-commands.js
define_key(content_buffer_normal_keymap, "home","beginning-of-line");
define_key(content_buffer_normal_keymap, "end","end-of-line");
define_key(content_buffer_normal_keymap, "C-home","cmd_scrollTop");
define_key(content_buffer_normal_keymap, "C-end","cmd_scrollBottom");
// rebound from text.js
define_key(content_buffer_text_keymap, "home", "cmd_beginLine");
define_key(content_buffer_text_keymap, "end", "cmd_endLine");
define_key(content_buffer_text_keymap, "C-left", "cmd_wordPrevious");
define_key(content_buffer_text_keymap, "C-right", "cmd_wordNext");
define_key(content_buffer_text_keymap, "C-y", "cmd_redo");
define_key(content_buffer_text_keymap, "C-z", "cmd_undo");
define_key(content_buffer_text_keymap, "C-v", "cmd_paste");
define_key(content_buffer_text_keymap, "C-x", "cmd_cut");
define_key(content_buffer_text_keymap, "C-c", "cmd_copy");
// new for textarea.js
define_key(content_buffer_textarea_keymap, "home", "cmd_beginLine");
define_key(content_buffer_textarea_keymap, "end", "cmd_endLine");
define_key(content_buffer_textarea_keymap, "C-left", "cmd_wordPrevious");
define_key(content_buffer_textarea_keymap, "C-right", "cmd_wordNext");
define_key(content_buffer_textarea_keymap, "C-y", "cmd_redo");
define_key(content_buffer_textarea_keymap, "C-z", "cmd_undo");
define_key(content_buffer_textarea_keymap, "C-v", "cmd_paste");
define_key(content_buffer_textarea_keymap, "C-x", "cmd_cut");
define_key(content_buffer_textarea_keymap, "C-c", "cmd_copy");
// rebound for textarea.js
define_key(content_buffer_textarea_keymap, "C-home", "cmd_moveTop");
define_key(content_buffer_textarea_keymap, "C-end", "cmd_moveBottom");
// rebound from zoom.js
define_key(content_buffer_normal_keymap, "C-subtract", "zoom-out-text");
define_key(content_buffer_normal_keymap, "C-add", "zoom-in-text");
// webjumps
add_delicious_webjumps ("saltycrane");
add_webjump("g", "www.google.com/search?q=%s");
add_webjump("d", "del.icio.us/saltycrane/%s");
add_webjump("blank", "about:blank");
add_webjump("reader", "www.google.com/reader");</pre>
<br /><br /><strong>How to search the Conkeror mailing list archive</strong><br />
<p>Don't use the one linked from the Conkeror website. Instead use:
<a href="http://www.nabble.com/MozDev---conkeror-f11304.html">http://www.nabble.com/MozDev---conkeror-f11304.html</a>
</p>
<br /><br /><strong>How to get out of Adobe reader when visiting a pdf file</strong><br />
<p>See <a href="http://www.nabble.com/adobe-reader-tp7373120p7373120.html">
this thread</a> on the MozDev - conkeror mailing list archive.</p>
<br /><br /><strong>How to copy a link</strong><br />
<p>Use the <code>c</code> command.</p>
<br /><br /><strong><code>add_command</code> doesn't work!</strong><br />
<p>Per the ChangeLog, it was renamed to <code>interactive</code>. I still
can't figure out how to use <code>message</code> though.</p>
<br /><br /><strong>How to uninstall XULRunner</strong><br />
<p>Run the command <code>xulrunner --unregister-user</code> and then delete
the xulrunner directory. If you deleted the xulrunner directory without unregistering,
delete the registry items in <code>HKEY_CURRENT_USER\Software\mozilla.org\GRE</code>
on Windows, or the directory <code>~/.gre.d</code> on Linux.</p>
<p><em>Update 2008-09-11</em>: I discovered Conkeror now has external editing
capabilities. I can hit C-i in a text box and it will bring up Emacs. Problems:
I set EDITOR and VISUAL to be emacsclient, however,
when I spawn conkeror from wmii using MOD-p, and hit C-i in conkeror, it starts
a new emacs server instead of connecting to my current one. However, if I just
start conkeror from my terminal command line, it works correctly. Also, I don't
know how to change the major mode of Emacs for editing the text boxes. Otherwise,
good stuff.</p>
Ubuntu Gutsy Emacs Copy Paste
2007-11-07T23:40:00-08:00https://www.saltycrane.com/blog/2007/11/ubuntu-gutsy-emacs-copy-paste/
<p>I have Ubuntu 7.10 Gutsy Gibson (Gnome) and installed the <code>emacs22</code> package. Copy and paste did not work from Emacs to the Firefox search box and from the Firefox location box to Emacs. I did get it working after a little Google searching. But it made me think back to Tim Bray's comments in <a href="http://www.tbray.org/ongoing/When/200x/2006/08/16/Back-to-the-Mac">Back to the Mac</a> regarding the importance of a simple thing like copy and paste.</p>
<p>Here is the fix, which worked like a charm. I got this from the Ubuntu forums. Put the following two lines in your .emacs file.
<pre>(setq x-select-enable-clipboard t)
(setq interprogram-paste-function 'x-cut-buffer-or-selection-value)</pre>
</p>
Emacs mode line color custimization
2007-10-26T17:38:00-07:00https://www.saltycrane.com/blog/2007/10/emacs-mode-line-color-custimization/
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lZhqNsiakm4/RyKLrpwjuoI/AAAAAAAAACs/pt-uNM1tVNs/s1600-h/slide0001_image001.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_lZhqNsiakm4/RyKLrpwjuoI/AAAAAAAAACs/pt-uNM1tVNs/s200/slide0001_image001.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5125812907961203330" /></a>
<p>If you have more than one window in your emacs session, it's nice to make the active window stand out by changing the color of the mode line. In my standard Windows emacs installation, the active window's mode line is gray and the inactive window's is light grey. This makes it difficult to distinguish which window is active. By adding the following line to your .emacs file, you can make the active window's mode line blue instead of gray.</p>
<pre>(set-face-background 'modeline "#4477aa")</pre>
<p>It'd be nice if I could make a thin blue border surrounding the window like in Eclipse, but I couldn't figure out how to do that. The commented-out lines in the screenshot didn't do the trick.</p>
command-line inspiration
2007-10-19T09:14:00-07:00https://www.saltycrane.com/blog/2007/10/command-line-inspiration/
<div><font face="Arial" color="#000080" size="2"><a href="http://img.phraktured.net/screenshots/screenshot-20070305122500.png">http://img.phraktured.net/screenshots/screenshot-20070305122500.png</a></font></div>
Working with columns in Emacs
2007-09-20T12:53:00-07:00https://www.saltycrane.com/blog/2007/09/working-with-columns-in-emacs/
In Eclipse, I got a plugin called <a href="http://sourceforge.net/projects/columns4eclipse">Columns for Eclipse</a> to cut or paste a column of text. (See this <a href="http://www.saltycrane.com/blog/2007/02/how-to-selectcutpaste-column-in-eclipse/">previous post</a>.) In Emacs, this functionality is built-in and columns are called rectangles. Here is how to insert a column of text in Emacs.<br /><br />
I had a list of function names and wanted to turn them into function prototypes by adding "static void " at the beginning and "(void);" at the end.
<pre>DoSomethingIntelligent
CalculateSomethingComplicated
DoHardWork
MakeOurCompetitorsBegForMercy
GiveNoMercyToCompetitors
BecomeAwareOfReality
DoSomethingBoring
WonderAboutTheMeaningOfLife
WishIWerePythonOrLisp</pre>
To do this, I put the cursor at the beginning of the first function name, pressed CTRL+SPACE to "set the mark" (see <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mark.html#Mark"> section 12</a> of the manual for more information about the mark), and moved the cursor to the beginning of the last function name. Then do <code>M-x string-insert-rectangle <RET> static void <RET></code> and got:
<pre>static void DoSomethingIntelligent
static void CalculateSomethingComplicated
static void DoHardWork
static void MakeOurCompetitorsBegForMercy
static void GiveNoMercyToCompetitors
static void BecomeAwareOfReality
static void DoSomethingBoring
static void WonderAboutTheMeaningOfLife
static void WishIWerePythonOrLisp
</pre>
I just realized now that I cannot add the "(void);" to the end with <code>string-insert-rectangle</code> because I do not want to insert the "(void);"s as a rectangle. If I did, it would look like this:
<pre>static void DoSomethingIntelligent (void);
static void CalculateSomethingComplicated (void);
static void DoHardWork (void);
static void MakeOurCompetitorsBegForMercy (void);
static void GiveNoMercyToCompetitors (void);
static void BecomeAwareOfReality (void);
static void DoSomethingBoring (void);
static void WonderAboutTheMeaningOfLife (void);
static void WishIWerePythonOrLisp (void);</pre>
But that is ugly and I don't like that. So I guess I'll have to learn how to write a Lisp macro to do this. To be continued...<br /><br />
Note, If you want to delete the "static" from all the prototypes, you can select the text in the same way and do <code>M-x delete-rectangle</code>. Or you could use <code>C-x r d</code> if you haven't rebound <code>C-x</code> like I have.<br /><br />
See also <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#Rectangles"> Section 16 Rectangles</a> for more information.
Emacs 22 Command Index (sorted by Category)
2007-09-13T16:00:00-07:00https://www.saltycrane.com/blog/2007/09/emacs-22-command-index-sorted-by/I could not find an Emacs command reference arranged by category so I wrote a Python script to create one. Here is the <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Command-Index.html#Command-Index">original index</a> sorted by command name. <span id="fullpost"> Below is the index sorted by category. This command index is for Emacs 22.1 Windows. UPDATE: I recategorized the commands at a higher level so they match the top level chapters in the Emacs manual. I also added default keybindings for those commands which have them.<br /><br /><b>CONTENTS</b><br /><table cellpadding="5" border="0">
<tr><td valign="top"><b>Inportant General Concepts</b><br /><a href="#1">1. The Organization of the Screen</a><br /><a href="#7">7. Exiting Emacs</a><br /><br /><b>Fundamental Editing Commands</b><br /><a href="#8">8. Basic Editing Commands</a><br /><a href="#9">9. The Minibuffer</a><br /><a href="#10">10. Running Commands by Name</a><br /><a href="#11">11. Help</a><br /><br /><b>Important Text-Changing Commands</b><br /><a href="#12">12. The Mark and the Region</a><br /><a href="#13">13. Killing and Moving Text</a><br /><a href="#14">14. Yanking</a><br /><a href="#15">15. Accumulating Text</a><br /><a href="#16">16. Rectangles</a><br /><a href="#17">17. CUA Bindings</a><br /><a href="#18">18. Registers</a><br /><a href="#19">19. Controlling the Display</a><br /><a href="#20">20. Searching and Replacement</a><br /><a href="#21">21. Commands for Fixing Typos</a><br /><a href="#22">22. Keyboard Macros</a><br /><br /><b>Major Structures of Emacs</b><br /><a href="#23">23. File Handling</a><br /><a href="#24">24. Using Multiple Buffers</a><br /><a href="#25">25. Multiple Windows</a><br /><a href="#26">26. Frames and Graphical Displays</a><br /><a href="#27">27. International Character Set Support</a><br /><br /><b>Advanced Features</b><br /><a href="#28">28. Major Modes</a><br /><a href="#29">29. Indentation</a><br /><a href="#30">30. Commands for Human Languages</a><br /></td>
<td valign="top"><a href="#31">31. Editing Programs</a><br /><a href="#32">32. Compiling and Testing Programs</a><br /><a href="#33">33. Maintaining Large Programs</a><br /><a href="#34">34. Abbrevs</a><br /><a href="#35">35. Editing Pictures</a><br /><a href="#36">36. Sending Mail</a><br /><a href="#37">37. Reading Mail with Rmail</a><br /><a href="#38">38. Dired, the Directory Editor</a><br /><a href="#39">39. The Calendar and the Diary</a><br /><a href="#40">40. Gnus</a><br /><a href="#41">41. Running Shell Commands from Emacs</a><br /><a href="#42">42. Using Emacs as a Server</a><br /><a href="#43">43. Printing Hard Copies</a><br /><a href="#44">44. PostScript Hardcopy</a><br /><a href="#46">46. Printing Package</a><br /><a href="#47">47. Sorting Text</a><br /><a href="#48">48. Narrowing</a><br /><a href="#49">49. Two-Column Editing</a><br /><a href="#51">51. Saving Emacs Sessions</a><br /><a href="#52">52. Recursive Editing Levels</a><br /><a href="#53">53. Emulation</a><br /><a href="#54">54. Hyperlinking and Navigation Features</a><br /><a href="#55">55. Dissociated Press</a><br /><a href="#56">56. Other Amusements</a><br /><a href="#57">57. Customization</a><br /><br /><b>Recovery from Problems</b><br /><a href="#58">58. Quitting and Aborting</a><br /><a href="#59">59. Dealing with Emacs Trouble</a><br /><a href="#60">60. Reporting Bugs</a><br /><a href="#Appendix">Appendix. C Command Line Arguments for Emacs Invocation</a><br /><a href="#Appendix">Appendix. F Emacs and Mac OS</a><br /><a href="#Appendix">Appendix. G Emacs and Microsoft Windows/MS-DOS</a><br /></td></tr></table><br /><table cellpadding="5" border="0">
<tr><td bgcolor="#888888" width="140" align="left" valign="top">CATEGORY</td><td bgcolor="#888888" valign="top">COMMANDS</td></tr>
<tr><td width="140" align="left" valign="top"><a name="1">The Organization of the Screen</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Bar.html#index-menu_002dbar_002dopen-18"><code>menu-bar-open</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Bar.html#index-tmm_002dmenubar-17"><code>tmm-menubar</code></a><code>['M-`']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="7">Exiting Emacs</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Exiting.html#index-iconify_002dor_002ddeiconify_002dframe-49"><code>iconify-or-deiconify-frame</code></a><code>['C-z', 'C-x C-z']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Exiting.html#index-save_002dbuffers_002dkill_002demacs-53"><code>save-buffers-kill-emacs</code></a><code>['C-x C-c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Exiting.html#index-suspend_002demacs-50"><code>suspend-emacs</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="8">Basic Editing Commands</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-backward_002dchar-89"><code>backward-char</code></a><code>['C-b', '<left>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-beginning_002dof_002dbuffer-92"><code>beginning-of-buffer</code></a><code>['<C-home>', '<begin>', 'M-<']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Position-Info.html#index-count_002dlines_002dregion-125"><code>count-lines-region</code></a><code>['M-=']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Blank-Lines.html#index-delete_002dblank_002dlines-111"><code>delete-blank-lines</code></a><code>['C-x C-o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.html#index-digit_002dargument-136"><code>digit-argument</code></a><code>['C-0 .. C-9', 'M-0 .. M-9', 'C-M-0 .. C-M-9']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-end_002dof_002dbuffer-93"><code>end-of-buffer</code></a><code>['<C-end>', 'M->']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-forward_002dchar-88"><code>forward-char</code></a><code>['C-f', '<right>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-goto_002dchar-94"><code>goto-char</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-goto_002dline-95"><code>goto-line</code></a><code>['M-g g', 'M-g M-g']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic.html#index-help_002dwith_002dtutorial-56"><code>help-with-tutorial</code></a><code>['C-h t', '<f1> t', '<help> t']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-move_002dbeginning_002dof_002dline-86"><code>move-beginning-of-line</code></a><code>['C-a', '<home>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-move_002dend_002dof_002dline-87"><code>move-end-of-line</code></a><code>['C-e', '<end>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-move_002dto_002dwindow_002dline-96"><code>move-to-window-line</code></a><code>['M-r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.html#index-negative_002dargument-137"><code>negative-argument</code></a><code>['C--', 'M--', 'C-M--']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Inserting-Text.html#index-newline-66"><code>newline</code></a><code>['RET']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-next_002dline-90"><code>next-line</code></a><code>['C-n', '<down>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Blank-Lines.html#index-open_002dline-110"><code>open-line</code></a><code>['C-o', '<insertline>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-previous_002dline-91"><code>previous-line</code></a><code>['C-p', '<up>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Inserting-Text.html#index-quoted_002dinsert-63"><code>quoted-insert</code></a><code>['C-q']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Repeating.html#index-repeat-142"><code>repeat</code></a><code>['C-x z']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Inserting-Text.html#index-self_002dinsert-67"><code>self-insert</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-Point.html#index-set_002dgoal_002dcolumn-97"><code>set-goal-column</code></a><code>['C-x C-n']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Arguments.html#index-universal_002dargument-139"><code>universal-argument</code></a><code>['C-u']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Position-Info.html#index-what_002dcursor_002dposition-127"><code>what-cursor-position</code></a><code>['C-x =']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Position-Info.html#index-what_002dline-119"><code>what-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Position-Info.html#index-what_002dpage-118"><code>what-page</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="9">The Minibuffer</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Commands.html#index-choose_002dcompletion-164"><code>choose-completion</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-File.html#index-file_002dname_002dshadow_002dmode-149"><code>file-name-shadow-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Options.html#index-icomplete_002dmode-176"><code>icomplete-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Repetition.html#index-list_002dcommand_002dhistory-191"><code>list-command-history</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Commands.html#index-minibuffer_002dcomplete-159"><code>minibuffer-complete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Commands.html#index-minibuffer_002dcomplete_002dword-161"><code>minibuffer-complete-word</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Commands.html#index-mouse_002dchoose_002dcompletion-162"><code>mouse-choose-completion</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Commands.html#index-next_002dcompletion-165"><code>next-completion</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-History.html#index-next_002dhistory_002delement-181"><code>next-history-element</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-History.html#index-next_002dmatching_002dhistory_002delement-184"><code>next-matching-history-element</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Options.html#index-partial_002dcompletion_002dmode-172"><code>partial-completion-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Commands.html#index-previous_002dcompletion-166"><code>previous-completion</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-History.html#index-previous_002dhistory_002delement-182"><code>previous-history-element</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-History.html#index-previous_002dmatching_002dhistory_002delement-183"><code>previous-matching-history-element</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Repetition.html#index-repeat_002dcomplex_002dcommand-193"><code>repeat-complex-command</code></a><code>['<again>', '<redo>', 'C-x ESC ESC', 'C-x M-:']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Commands.html#index-switch_002dto_002dcompletions-163"><code>switch-to-completions</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="10">Running Commands by Name</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/M_002dx.html#index-execute_002dextended_002dcommand-198"><code>execute-extended-command</code></a><code>['<execute>', '<menu>', 'M-x']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="11">Help</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Name-Help.html#index-Info_002dgoto_002demacs_002dcommand_002dnode-222"><code>Info-goto-emacs-command-node</code></a><code>['C-h F', '<f1> F', '<help> F']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Key-Help.html#index-Info_002dgoto_002demacs_002dkey_002dcommand_002dnode-214"><code>Info-goto-emacs-key-command-node</code></a><code>['C-h K', '<f1> K', '<help> K']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Apropos.html#index-apropos-226"><code>apropos</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Apropos.html#index-apropos_002dcommand-224"><code>apropos-command</code></a><code>['C-h a', '<f1> a', '<help> a']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Apropos.html#index-apropos_002ddocumentation-229"><code>apropos-documentation</code></a><code>['C-h d', '<f1> d', '<help> d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Apropos.html#index-apropos_002dvalue-230"><code>apropos-value</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Apropos.html#index-apropos_002dvariable-227"><code>apropos-variable</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Mode.html#index-browse_002durl-239"><code>browse-url</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Help.html#index-describe_002dbindings-261"><code>describe-bindings</code></a><code>['C-h b', '<f1> b', '<help> b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-describe_002dcopying-263"><code>describe-copying</code></a><code>['C-h C-c', '<f1> C-c', '<help> C-c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-describe_002ddistribution-265"><code>describe-distribution</code></a><code>['C-h C-d', '<f1> C-d', '<help> C-d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Name-Help.html#index-describe_002dfunction-218"><code>describe-function</code></a><code>['C-h f', '<f1> f', '<help> f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Key-Help.html#index-describe_002dkey-212"><code>describe-key</code></a><code>['C-h k', '<f1> k', '<help> k']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Key-Help.html#index-describe_002dkey_002dbriefly-210"><code>describe-key-briefly</code></a><code>['C-h c', '<f1> c', '<help> c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Help.html#index-describe_002dmode-259"><code>describe-mode</code></a><code>['C-h m', '<f1> m', '<help> m']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-describe_002dno_002dwarranty-277"><code>describe-no-warranty</code></a><code>['C-h C-w', '<f1> C-w', '<help> C-w']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-describe_002dproject-273"><code>describe-project</code></a><code>['C-h C-p', '<f1> C-p', '<help> C-p']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Name-Help.html#index-describe_002dvariable-220"><code>describe-variable</code></a><code>['C-h v', '<f1> v', '<help> v']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Echo.html#index-display_002dlocal_002dhelp-281"><code>display-local-help</code></a><code>['C-h .', '<f1> .', '<help> .']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Library-Keywords.html#index-finder_002dby_002dkeyword-245"><code>finder-by-keyword</code></a><code>['C-h p', '<f1> p', '<help> p']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help.html#index-help_002dcommand-202"><code>help-command</code></a><code>['C-h', '<f1>', '<help>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help.html#index-help_002dfor_002dhelp-206"><code>help-for-help</code></a><code>['C-h C-h', 'C-h ?', 'C-h <f1>', 'C-h <help>', '<f1> C-h', '<f1> ?', '<f1> <f1>', '<f1> <help>', '<help> C-h', '<help> ?', '<help> <f1>', '<help> <help>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Mode.html#index-help_002dnext_002dref-241"><code>help-next-ref</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Mode.html#index-help_002dprevious_002dref-243"><code>help-previous-ref</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Help.html#index-info-247"><code>info</code></a><code>['C-h i', '<f1> i', '<help> i']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Help.html#index-info_002dlookup_002dsymbol-253"><code>info-lookup-symbol</code></a><code>['C-h S', '<f1> S', '<help> S']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Help.html#index-view_002decho_002darea_002dmessages-257"><code>view-echo-area-messages</code></a><code>['C-h e', '<f1> e', '<help> e']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-view_002demacs_002dFAQ-269"><code>view-emacs-FAQ</code></a><code>['C-h C-f', '<f1> C-f', '<help> C-f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-view_002demacs_002dnews-271"><code>view-emacs-news</code></a><code>['C-h C-n', 'C-h n', '<f1> C-n', '<f1> n', '<help> C-n', '<help> n']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-view_002demacs_002dproblems-267"><code>view-emacs-problems</code></a><code>['C-h C-e', '<f1> C-e', '<help> C-e']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-view_002demacs_002dtodo-275"><code>view-emacs-todo</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Help.html#index-view_002dlossage-255"><code>view-lossage</code></a><code>['C-h l', '<f1> l', '<help> l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Key-Help.html#index-where_002dis-216"><code>where-is</code></a><code>['C-h w', '<f1> w', '<help> w']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="12">The Mark and the Region</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Setting-Mark.html#index-exchange_002dpoint_002dand_002dmark-289"><code>exchange-point-and-mark</code></a><code>['C-x C-x']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marking-Objects.html#index-mark_002dwhole_002dbuffer-304"><code>mark-whole-buffer</code></a><code>['C-x h']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Global-Mark-Ring.html#index-pop_002dglobal_002dmark-313"><code>pop-global-mark</code></a><code>['C-x C-@', 'C-x C-SPC']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Setting-Mark.html#index-set_002dmark_002dcommand-287"><code>set-mark-command</code></a><code>['C-@', 'C-SPC']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transient-Mark.html#index-transient_002dmark_002dmode-295"><code>transient-mark-mode</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="13">Killing and Moving Text</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.html#index-delete_002dbackward_002dchar-319"><code>delete-backward-char</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.html#index-delete_002dchar-320"><code>delete-char</code></a><code>['C-d', '<deletechar>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.html#index-delete_002dhorizontal_002dspace-328"><code>delete-horizontal-space</code></a><code>['M-\\']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.html#index-just_002done_002dspace-330"><code>just-one-space</code></a><code>['M-SPC']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.html#index-kill_002dline-332"><code>kill-line</code></a><code>['C-k', '<deleteline>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.html#index-kill_002dregion-336"><code>kill-region</code></a><code>['C-w', '<S-delete>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.html#index-kill_002dwhole_002dline-335"><code>kill-whole-line</code></a><code>['<C-S-backspace>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.html#index-normal_002derase_002dis_002dbackspace_002dmode-326"><code>normal-erase-is-backspace-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Kill-Commands.html#index-zap_002dto_002dchar-339"><code>zap-to-char</code></a><code>['M-z']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="14">Yanking</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Appending-Kills.html#index-append_002dnext_002dkill-354"><code>append-next-kill</code></a><code>['C-M-w']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Ring.html#index-kill_002dring_002dsave-350"><code>kill-ring-save</code></a><code>['<C-insert>', '<C-insertchar>', 'M-w']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Ring.html#index-yank-346"><code>yank</code></a><code>['C-y', '<S-insert>', '<S-insertchar>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Earlier-Kills.html#index-yank_002dpop-357"><code>yank-pop</code></a><code>['M-y']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="15">Accumulating Text</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Accumulating-Text.html#index-append_002dto_002dbuffer-360"><code>append-to-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Accumulating-Text.html#index-append_002dto_002dfile-363"><code>append-to-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Accumulating-Text.html#index-copy_002dto_002dbuffer-362"><code>copy-to-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Accumulating-Text.html#index-prepend_002dto_002dbuffer-361"><code>prepend-to-buffer</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="16">Rectangles</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-clear_002drectangle-378"><code>clear-rectangle</code></a><code>['C-x r c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-delete_002drectangle-372"><code>delete-rectangle</code></a><code>['C-x r d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-delete_002dwhitespace_002drectangle-379"><code>delete-whitespace-rectangle</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-kill_002drectangle-371"><code>kill-rectangle</code></a><code>['C-x r k']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-open_002drectangle-376"><code>open-rectangle</code></a><code>['C-x r o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-string_002dinsert_002drectangle-382"><code>string-insert-rectangle</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-string_002drectangle-381"><code>string-rectangle</code></a><code>['C-x r t']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles.html#index-yank_002drectangle-374"><code>yank-rectangle</code></a><code>['C-x r y']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="17">CUA Bindings</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/CUA-Bindings.html#index-cua_002dmode-383"><code>cua-mode</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="18">Registers</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegText.html#index-append_002dto_002dregister-401"><code>append-to-register</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002ddelete-431"><code>bookmark-delete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002dinsert-433"><code>bookmark-insert</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002dinsert_002dlocation-432"><code>bookmark-insert-location</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002djump-419"><code>bookmark-jump</code></a><code>['C-x r b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002dload-429"><code>bookmark-load</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002dsave-421"><code>bookmark-save</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002dset-418"><code>bookmark-set</code></a><code>['C-x r m']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-bookmark_002dwrite-430"><code>bookmark-write</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegRect.html#index-copy_002drectangle_002dto_002dregister-404"><code>copy-rectangle-to-register</code></a><code>['C-x r r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegText.html#index-copy_002dto_002dregister-399"><code>copy-to-register</code></a><code>['C-x r s', 'C-x r x']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegConfig.html#index-frame_002dconfiguration_002dto_002dregister-408"><code>frame-configuration-to-register</code></a><code>['C-x r f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegNumbers.html#index-increment_002dregister-415"><code>increment-register</code></a><code>['C-x r +']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegText.html#index-insert_002dregister-400"><code>insert-register</code></a><code>['C-x r g', 'C-x r i']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegPos.html#index-jump_002dto_002dregister-395"><code>jump-to-register</code></a><code>['C-x r j']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html#index-list_002dbookmarks-420"><code>list-bookmarks</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegNumbers.html#index-number_002dto_002dregister-413"><code>number-to-register</code></a><code>['C-x r n']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegPos.html#index-point_002dto_002dregister-393"><code>point-to-register</code></a><code>['C-x r C-@', 'C-x r SPC', 'C-x r C-SPC']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegText.html#index-prepend_002dto_002dregister-402"><code>prepend-to-register</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Registers.html#index-view_002dregister-390"><code>view-register</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/RegConfig.html#index-window_002dconfiguration_002dto_002dregister-407"><code>window-configuration-to-register</code></a><code>['C-x r w']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="19">Controlling the Display</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cursor-Display.html#index-blink_002dcursor_002dmode-572"><code>blink-cursor-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Optional-Mode-Line.html#index-column_002dnumber_002dmode-546"><code>column-number-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Useless-Whitespace.html#index-delete_002dtrailing_002dwhitespace-525"><code>delete-trailing-whitespace</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Optional-Mode-Line.html#index-display_002dtime-547"><code>display-time</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Follow-Mode.html#index-follow_002dmode-464"><code>follow-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Font-Lock.html#index-font_002dlock_002dadd_002dkeywords-493"><code>font-lock-add-keywords</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Font-Lock.html#index-font_002dlock_002dmode-482"><code>font-lock-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Font-Lock.html#index-font_002dlock_002dremove_002dkeywords-494"><code>font-lock-remove-keywords</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fringes.html#index-fringe_002dmode-519"><code>fringe-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Font-Lock.html#index-global_002dfont_002dlock_002dmode-483"><code>global-font-lock-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cursor-Display.html#index-global_002dhl_002dline_002dmode-582"><code>global-hl-line-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html#index-hi_002dlock_002dfind_002dpatterns-514"><code>hi-lock-find-patterns</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html#index-hi_002dlock_002dmode-502"><code>hi-lock-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html#index-hi_002dlock_002dwrite_002dinteractive_002dpatterns-512"><code>hi-lock-write-interactive-patterns</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html#index-highlight_002dchanges_002dmode-500"><code>highlight-changes-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html#index-highlight_002dlines_002dmatching_002dregexp-508"><code>highlight-lines-matching-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html#index-highlight_002dregexp-504"><code>highlight-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cursor-Display.html#index-hl_002dline_002dmode-581"><code>hl-line-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Optional-Mode-Line.html#index-line_002dnumber_002dmode-540"><code>line-number-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Standard-Faces.html#index-list_002dfaces_002ddisplay-471"><code>list-faces-display</code></a><code>['<C-down-mouse-2> <df>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scrolling.html#index-recenter-436"><code>recenter</code></a><code>['C-l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scrolling.html#index-reposition_002dwindow-448"><code>reposition-window</code></a><code>['C-M-l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scrolling.html#index-scroll_002ddown-444"><code>scroll-down</code></a><code>['<prior>', 'M-v']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Horizontal-Scrolling.html#index-scroll_002dleft-457"><code>scroll-left</code></a><code>['<C-next>', 'C-x <']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Horizontal-Scrolling.html#index-scroll_002dright-458"><code>scroll-right</code></a><code>['<C-prior>', 'C-x >']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scrolling.html#index-scroll_002dup-443"><code>scroll-up</code></a><code>['C-v', '<next>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Faces.html#index-set_002dface_002dbackground-470"><code>set-face-background</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Faces.html#index-set_002dface_002dforeground-469"><code>set-face-foreground</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fringes.html#index-set_002dfringe_002dstyle-518"><code>set-fringe-style</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Selective-Display.html#index-set_002dselective_002ddisplay-531"><code>set-selective-display</code></a><code>['C-x $']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Optional-Mode-Line.html#index-size_002dindication_002dmode-536"><code>size-indication-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Line-Truncation.html#index-toggle_002dtruncate_002dlines-587"><code>toggle-truncate-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Display-Custom.html#index-tty_002dsuppress_002dbold_002dinverse_002ddefault_002dcolors-597"><code>tty-suppress-bold-inverse-default-colors</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Font-Lock.html#index-turn_002don_002dfont_002dlock-485"><code>turn-on-font-lock</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html#index-unhighlight_002dregexp-506"><code>unhighlight-regexp</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="20">Searching and Replacement</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-delete_002dmatching_002dlines-662"><code>delete-matching-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-delete_002dnon_002dmatching_002dlines-661"><code>delete-non-matching-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Backslash.html#index-describe_002dcategories-639"><code>describe-categories</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-flush_002dlines-663"><code>flush-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-how_002dmany-660"><code>how-many</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Repeat-Isearch.html#index-isearch_002dbackward-606"><code>isearch-backward</code></a><code>['C-r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Search.html#index-isearch_002dbackward_002dregexp-629"><code>isearch-backward-regexp</code></a><code>['C-M-r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Isearch.html#index-isearch_002dforward-604"><code>isearch-forward</code></a><code>['C-s']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Search.html#index-isearch_002dforward_002dregexp-627"><code>isearch-forward-regexp</code></a><code>['C-M-s']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Non_002dASCII-Isearch.html#index-isearch_002dtoggle_002dinput_002dmethod-611"><code>isearch-toggle-input-method</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Non_002dASCII-Isearch.html#index-isearch_002dtoggle_002dspecified_002dinput_002dmethod-612"><code>isearch-toggle-specified-input-method</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-keep_002dlines-664"><code>keep-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-list_002dmatching_002dlines-656"><code>list-matching-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-multi_002doccur-658"><code>multi-occur</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-multi_002doccur_002din_002dmatching_002dbuffers-659"><code>multi-occur-in-matching-buffers</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html#index-occur-657"><code>occur</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Query-Replace.html#index-query_002dreplace-652"><code>query-replace</code></a><code>['M-%']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Query-Replace.html#index-query_002dreplace_002dregexp-654"><code>query-replace-regexp</code></a><code>['C-M-%']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Search.html#index-re_002dsearch_002dbackward-632"><code>re-search-backward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Search.html#index-re_002dsearch_002dforward-631"><code>re-search-forward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Replace.html#index-replace_002dregexp-647"><code>replace-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Unconditional-Replace.html#index-replace_002dstring-646"><code>replace-string</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Nonincremental-Search.html#index-search_002dbackward-620"><code>search-backward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Nonincremental-Search.html#index-search_002dforward-619"><code>search-forward</code></a><code>['<find>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Word-Search.html#index-word_002dsearch_002dbackward-623"><code>word-search-backward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Word-Search.html#index-word_002dsearch_002dforward-622"><code>word-search-forward</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="21">Commands for Fixing Typos</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-flyspell_002dmode-696"><code>flyspell-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-flyspell_002dprog_002dmode-697"><code>flyspell-prog-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-ispell-702"><code>ispell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-ispell_002dbuffer-700"><code>ispell-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-ispell_002dcomplete_002dword-704"><code>ispell-complete-word</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-ispell_002dkill_002dispell-706"><code>ispell-kill-ispell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-ispell_002dregion-701"><code>ispell-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Spelling.html#index-ispell_002dword-699"><code>ispell-word</code></a><code>['M-$']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transpose.html#index-transpose_002dchars-684"><code>transpose-chars</code></a><code>['C-t']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transpose.html#index-transpose_002dlines-686"><code>transpose-lines</code></a><code>['C-x C-t']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transpose.html#index-transpose_002dwords-688"><code>transpose-words</code></a><code>['M-t']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Undo.html#index-undo-675"><code>undo</code></a><code>['C-_', 'C-/', '<undo>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Undo.html#index-undo_002donly-676"><code>undo-only</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="22">Keyboard Macros</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Keyboard-Macro.html#index-apply_002dmacro_002dto_002dregion_002dlines-719"><code>apply-macro-to-region-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Edit-Keyboard-Macro.html#index-edit_002dkbd_002dmacro-748"><code>edit-kbd-macro</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Keyboard-Macro.html#index-insert_002dkbd_002dmacro-744"><code>insert-kbd-macro</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Query.html#index-kbd_002dmacro_002dquery-737"><code>kbd-macro-query</code></a><code>['C-x q']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Counter.html#index-kmacro_002dadd_002dcounter-732"><code>kmacro-add-counter</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Keyboard-Macro.html#index-kmacro_002dbind_002dto_002dkey-742"><code>kmacro-bind-to-key</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Ring.html#index-kmacro_002dcycle_002dring_002dnext-723"><code>kmacro-cycle-ring-next</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Ring.html#index-kmacro_002dcycle_002dring_002dprevious-725"><code>kmacro-cycle-ring-previous</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Edit-Keyboard-Macro.html#index-kmacro_002dedit_002dlossage-750"><code>kmacro-edit-lossage</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Edit-Keyboard-Macro.html#index-kmacro_002dedit_002dmacro-745"><code>kmacro-edit-macro</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Keyboard-Macro.html#index-kmacro_002dend_002dand_002dcall_002dmacro-718"><code>kmacro-end-and-call-macro</code></a><code>['C-x e']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Keyboard-Macro.html#index-kmacro_002dend_002dmacro-717"><code>kmacro-end-macro</code></a><code>['C-x )']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Ring.html#index-kmacro_002dend_002dor_002dcall_002dmacro_002drepeat-721"><code>kmacro-end-or-call-macro-repeat</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Counter.html#index-kmacro_002dinsert_002dcounter-728"><code>kmacro-insert-counter</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Keyboard-Macro.html#index-kmacro_002dname_002dlast_002dmacro-739"><code>kmacro-name-last-macro</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Counter.html#index-kmacro_002dset_002dcounter-730"><code>kmacro-set-counter</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Counter.html#index-kmacro_002dset_002dformat-734"><code>kmacro-set-format</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Keyboard-Macro.html#index-kmacro_002dstart_002dmacro-716"><code>kmacro-start-macro</code></a><code>['C-x (']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macro-Step_002dEdit.html#index-kmacro_002dstep_002dedit_002dmacro-752"><code>kmacro-step-edit-macro</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="23">File Handling</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-add_002dname_002dto_002dfile-1011"><code>add-name-to-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Interlocking.html#index-ask_002duser_002dabout_002dlock-823"><code>ask-user-about-lock</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compressed-Files.html#index-auto_002dcompression_002dmode-1022"><code>auto-compression-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Reverting.html#index-auto_002drevert_002dmode-842"><code>auto-revert-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Reverting.html#index-auto_002drevert_002dtail_002dmode-843"><code>auto-revert-tail-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Save-Control.html#index-auto_002dsave_002dmode-854"><code>auto-save-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Names.html#index-cd-757"><code>cd</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comparing-Files.html#index-compare_002dwindows-989"><code>compare-windows</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-copy_002dfile-1013"><code>copy-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-delete_002dfile-1008"><code>delete-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comparing-Files.html#index-diff-986"><code>diff</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comparing-Files.html#index-diff_002dbackup-988"><code>diff-backup</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Diff-Mode.html#index-diff_002dmode-998"><code>diff-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Save-Control.html#index-do_002dauto_002dsave-857"><code>do-auto-save</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Name-Cache.html#index-file_002dcache_002dadd_002ddirectory-1064"><code>file-cache-add-directory</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Name-Cache.html#index-file_002dcache_002dminibuffer_002dcomplete-1063"><code>file-cache-minibuffer-complete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Filesets.html#index-filesets_002dadd_002dbuffer-1076"><code>filesets-add-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Filesets.html#index-filesets_002dinit-1075"><code>filesets-init</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Filesets.html#index-filesets_002dremove_002dbuffer-1077"><code>filesets-remove-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Visiting.html#index-find_002dalternate_002dfile-782"><code>find-alternate-file</code></a><code>['C-x C-v']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Visiting.html#index-find_002dfile-771"><code>find-file</code></a><code>['<open>', 'C-x C-f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Visiting.html#index-find_002dfile_002dliterally-787"><code>find-file-literally</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Visiting.html#index-find_002dfile_002dother_002dframe-786"><code>find-file-other-frame</code></a><code>['C-x 5 C-f', 'C-x 5 f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Visiting.html#index-find_002dfile_002dother_002dwindow-784"><code>find-file-other-window</code></a><code>['C-x 4 C-f', 'C-x 4 f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Visiting.html#index-find_002dfile_002dread_002donly-780"><code>find-file-read-only</code></a><code>['C-x C-r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Reverting.html#index-global_002dauto_002drevert_002dmode-841"><code>global-auto-revert-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Conveniences.html#index-image_002dmode-1069"><code>image-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Conveniences.html#index-image_002dtoggle_002ddisplay-1070"><code>image-toggle-display</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-insert_002dfile-1005"><code>insert-file</code></a><code>['C-x i']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-insert_002dfile_002dliterally-1006"><code>insert-file-literally</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Directories.html#index-list_002ddirectory-979"><code>list-directory</code></a><code>['C-x C-d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Log-Buffer.html#index-log_002dedit_002dinsert_002dchangelog-894"><code>log-edit-insert-changelog</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-make_002dsymbolic_002dlink-1015"><code>make-symbolic-link</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Conveniences.html#index-mode_002c-thumbs-1073"><code>mode, thumbs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Commands.html#index-not_002dmodified-795"><code>not-modified</code></a><code>['M-~']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Names.html#index-pwd-758"><code>pwd</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Conveniences.html#index-recentf_002dedit_002dlist-1068"><code>recentf-edit-list</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Conveniences.html#index-recentf_002dmode-1065"><code>recentf-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Conveniences.html#index-recentf_002dsave_002dlist-1067"><code>recentf-save-list</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Recover.html#index-recover_002dfile-858"><code>recover-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Recover.html#index-recover_002dsession-859"><code>recover-session</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-rename_002dfile-1010"><code>rename-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Reverting.html#index-revert_002dbuffer-833"><code>revert-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Commands.html#index-save_002dbuffer-791"><code>save-buffer</code></a><code>['C-x C-s']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Commands.html#index-save_002dsome_002dbuffers-793"><code>save-some-buffers</code></a><code>['C-x s']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Commands.html#index-set_002dvisited_002dfile_002dname-796"><code>set-visited-file-name</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Shadowing.html#index-shadow_002dinitialize-828"><code>shadow-initialize</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comparing-Files.html#index-smerge_002dmode-993"><code>smerge-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Names.html#index-substitute_002din_002dfile_002dname-764"><code>substitute-in-file-name</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Conveniences.html#index-thumbs_002dmode-1072"><code>thumbs-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Stamps.html#index-time_002dstamp-832"><code>time-stamp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Old-Versions.html#index-vc_002dannotate-902"><code>vc-annotate</code></a><code>['C-x v g']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/VC-Undo.html#index-vc_002dcancel_002dversion-914"><code>vc-cancel-version</code></a><code>['C-x v c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Making-Snapshots.html#index-vc_002dcreate_002dsnapshot-946"><code>vc-create-snapshot</code></a><code>['C-x v s']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Old-Versions.html#index-vc_002ddiff-898"><code>vc-diff</code></a><code>['C-x v =']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/VC-Dired-Mode.html#index-vc_002ddirectory-919"><code>vc-directory</code></a><code>['C-x v d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/VC-Dired-Commands.html#index-vc_002ddired_002dmark_002dlocked-926"><code>vc-dired-mark-locked</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/VC-Dired-Commands.html#index-vc_002ddired_002dtoggle_002dterse_002dmode-925"><code>vc-dired-toggle-terse-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Version-Headers.html#index-vc_002dinsert_002dheaders-954"><code>vc-insert-headers</code></a><code>['C-x v h']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Merging.html#index-vc_002dmerge-932"><code>vc-merge</code></a><code>['C-x v m']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-VC-Editing.html#index-vc_002dnext_002daction-888"><code>vc-next-action</code></a><code>['C-x v v']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/VC-Status.html#index-vc_002dprint_002dlog-910"><code>vc-print-log</code></a><code>['C-x v l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Registering.html#index-vc_002dregister-905"><code>vc-register</code></a><code>['C-x v i']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Renaming-and-VC.html#index-vc_002drename_002dfile-952"><code>vc-rename-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Making-Snapshots.html#index-vc_002dretrieve_002dsnapshot-948"><code>vc-retrieve-snapshot</code></a><code>['C-x v r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/VC-Undo.html#index-vc_002drevert_002dbuffer-912"><code>vc-revert-buffer</code></a><code>['C-x v u']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Local-Version-Control.html#index-vc_002dswitch_002dbackend-943"><code>vc-switch-backend</code></a><code>['C-x v b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-VC-Editing.html#index-vc_002dtoggle_002dread_002donly-890"><code>vc-toggle-read-only</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Logs-and-VC.html#index-vc_002dupdate_002dchange_002dlog-951"><code>vc-update-change-log</code></a><code>['C-x v a']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Old-Versions.html#index-vc_002dversion_002dother_002dwindow-896"><code>vc-version-other-window</code></a><code>['C-x v ~']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-view_002dfile-1000"><code>view-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Commands.html#index-write_002dfile-798"><code>write-file</code></a><code>['C-x C-w']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-File-Ops.html#index-write_002dregion-1007"><code>write-region</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="24">Using Multiple Buffers</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Buffer-Menus.html#index-bs_002dshow-1134"><code>bs-show</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Several-Buffers.html#index-buffer_002dmenu-1116"><code>buffer-menu</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Several-Buffers.html#index-buffer_002dmenu_002dother_002dwindow-1117"><code>buffer-menu-other-window</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Buffer.html#index-clean_002dbuffer_002dlist-1111"><code>clean-buffer-list</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indirect-Buffers.html#index-clone_002dindirect_002dbuffer-1121"><code>clone-indirect-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indirect-Buffers.html#index-clone_002dindirect_002dbuffer_002dother_002dwindow-1123"><code>clone-indirect-buffer-other-window</code></a><code>['C-x 4 c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Iswitchb.html#index-iswitchb_002dmode-1127"><code>iswitchb-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Buffer.html#index-kill_002dbuffer-1107"><code>kill-buffer</code></a><code>['C-x k']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Buffer.html#index-kill_002dsome_002dbuffers-1108"><code>kill-some-buffers</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/List-Buffers.html#index-list_002dbuffers-1098"><code>list-buffers</code></a><code>['C-x C-b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indirect-Buffers.html#index-make_002dindirect_002dbuffer-1120"><code>make-indirect-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Buffer-Menus.html#index-mouse_002dbuffer_002dmenu-1140"><code>mouse-buffer-menu</code></a><code>['<C-down-mouse-1>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Buffer-Menus.html#index-msb_002dmode-1136"><code>msb-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Buffer.html#index-next_002dbuffer-1088"><code>next-buffer</code></a><code>['C-x <C-right>', 'C-x <right>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Buffer.html#index-previous_002dbuffer-1089"><code>previous-buffer</code></a><code>['C-x <C-left>', 'C-x <left>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Buffer.html#index-rename_002dbuffer-1103"><code>rename-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Buffer.html#index-rename_002duniquely-1104"><code>rename-uniquely</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Buffer.html#index-switch_002dto_002dbuffer-1085"><code>switch-to-buffer</code></a><code>['C-x b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Buffer.html#index-switch_002dto_002dbuffer_002dother_002dframe-1094"><code>switch-to-buffer-other-frame</code></a><code>['C-x 5 b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Buffer.html#index-switch_002dto_002dbuffer_002dother_002dwindow-1091"><code>switch-to-buffer-other-window</code></a><code>['C-x 4 b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Buffer.html#index-toggle_002dread_002donly-1102"><code>toggle-read-only</code></a><code>['C-x C-q']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Buffer.html#index-view_002dbuffer-1105"><code>view-buffer</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="25">Multiple Windows</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Window.html#index-balance_002dwindows-1176"><code>balance-windows</code></a><code>['C-x +']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Window.html#index-delete_002dother_002dwindows-1166"><code>delete-other-windows</code></a><code>['C-x 1']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Window.html#index-delete_002dwindow-1162"><code>delete-window</code></a><code>['C-x 0']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Window.html#index-enlarge_002dwindow-1168"><code>enlarge-window</code></a><code>['C-x ^']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Window.html#index-enlarge_002dwindow_002dhorizontally-1170"><code>enlarge-window-horizontally</code></a><code>['C-x }']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Window.html#index-kill_002dbuffer_002dand_002dwindow-1163"><code>kill-buffer-and-window</code></a><code>['C-x 4 0']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Window.html#index-other_002dwindow-1153"><code>other-window</code></a><code>['C-x o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Window.html#index-scroll_002dother_002dwindow-1155"><code>scroll-other-window</code></a><code>['<M-next>', 'C-M-v', 'ESC <next>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Window.html#index-shrink_002dwindow_002dif_002dlarger_002dthan_002dbuffer-1174"><code>shrink-window-if-larger-than-buffer</code></a><code>['C-x -']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html#index-split_002dwindow_002dhorizontally-1148"><code>split-window-horizontally</code></a><code>['C-x 3']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html#index-split_002dwindow_002dvertically-1146"><code>split-window-vertically</code></a><code>['C-x 2']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Window-Convenience.html#index-windmove_002ddefault_002dkeybindings-1185"><code>windmove-default-keybindings</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Window-Convenience.html#index-windmove_002dright-1184"><code>windmove-right</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Window-Convenience.html#index-winner_002dmode-1177"><code>winner-mode</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="26">Frames and Graphical Displays</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Frame-Parameters.html#index-auto_002dlower_002dmode-1275"><code>auto-lower-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Frame-Parameters.html#index-auto_002draise_002dmode-1274"><code>auto-raise-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Frame-Commands.html#index-delete_002dframe-1258"><code>delete-frame</code></a><code>['C-x 5 0']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Frame-Commands.html#index-delete_002dother_002dframes-1262"><code>delete-other-frames</code></a><code>['C-x 5 1']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html#index-delete_002dselection_002dmode-1206"><code>delete-selection-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Frames.html#index-find_002dfile_002dread_002donly_002dother_002dframe-1249"><code>find-file-read-only-other-frame</code></a><code>['C-x 5 r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Exiting.html#index-iconify_002dor_002ddeiconify_002dframe-49"><code>iconify-or-deiconify-frame</code></a><code>['C-z', 'C-x C-z']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Frames.html#index-make_002dframe_002dcommand-1247"><code>make-frame-command</code></a><code>['C-x 5 2']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Multiple-Displays.html#index-make_002dframe_002don_002ddisplay-1267"><code>make-frame-on-display</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Clipboard.html#index-menu_002dbar_002denable_002dclipboard-1225"><code>menu-bar-enable-clipboard</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Bars.html#index-menu_002dbar_002dmode-1295"><code>menu-bar-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Avoidance.html#index-mouse_002davoidance_002dmode-1315"><code>mouse-avoidance-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html#index-mouse_002dsave_002dthen_002dclick-1196"><code>mouse-save-then-click</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Secondary-Selection.html#index-mouse_002dsecondary_002dsave_002dthen_002dkill-1219"><code>mouse-secondary-save-then-kill</code></a><code>['<M-mouse-3>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html#index-mouse_002dset_002dpoint-1194"><code>mouse-set-point</code></a><code>['<double-mouse-1>', '<mouse-1>', '<triple-mouse-1>', '<right-fringe> <mouse-1>', '<left-fringe> <mouse-1>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html#index-mouse_002dset_002dregion-1193"><code>mouse-set-region</code></a><code>['<drag-mouse-1>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Secondary-Selection.html#index-mouse_002dset_002dsecondary-1215"><code>mouse-set-secondary</code></a><code>['<M-drag-mouse-1>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Secondary-Selection.html#index-mouse_002dstart_002dsecondary-1217"><code>mouse-start-secondary</code></a><code>['<M-mouse-1>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Wheeled-Mice.html#index-mouse_002dwheel_002dmode-1285"><code>mouse-wheel-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html#index-mouse_002dyank_002dat_002dclick-1195"><code>mouse-yank-at-click</code></a><code>['<mouse-2>', '<right-fringe> <mouse-2>', '<left-fringe> <mouse-2>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Secondary-Selection.html#index-mouse_002dyank_002dsecondary-1221"><code>mouse-yank-secondary</code></a><code>['<M-mouse-2>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Frame-Commands.html#index-other_002dframe-1260"><code>other-frame</code></a><code>['C-x 5 o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scroll-Bars.html#index-scroll_002dbar_002dmode-1278"><code>scroll-bar-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Non_002dWindow-Terminals.html#index-select_002dframe_002dby_002dname-1319"><code>select-frame-by-name</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Non_002dWindow-Terminals.html#index-set_002dframe_002dname-1318"><code>set-frame-name</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scroll-Bars.html#index-toggle_002dscroll_002dbar-1280"><code>toggle-scroll-bar</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tool-Bars.html#index-tool_002dbar_002dmode-1301"><code>tool-bar-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tooltips.html#index-tooltip_002dmode-1310"><code>tooltip-mode</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="27">International Character Set Support</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Fontsets.html#index-create_002dfontset_002dfrom_002dfontset_002dspec-1456"><code>create-fontset-from-fontset-spec</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Charsets.html#index-describe_002dcharacter_002dset-1474"><code>describe-character-set</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Coding-Systems.html#index-describe_002dcoding_002dsystem-1402"><code>describe-coding-system</code></a><code>['C-h C', '<f1> C', '<help> C']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Input-Method.html#index-describe_002dinput_002dmethod-1387"><code>describe-input-method</code></a><code>['C-h C-\\', 'C-h I', '<f1> C-\\', '<f1> I', '<help> C-\\', '<help> I']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Language-Environments.html#index-describe_002dlanguage_002denvironment-1380"><code>describe-language-environment</code></a><code>['C-h L', '<f1> L', '<help> L']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Charsets.html#index-list_002dcharset_002dchars-1472"><code>list-charset-chars</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Coding-Systems.html#index-list_002dcoding_002dsystems-1403"><code>list-coding-systems</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Input-Method.html#index-list_002dinput_002dmethods-1398"><code>list-input-methods</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Recognize-Coding.html#index-prefer_002dcoding_002dsystem-1411"><code>prefer-coding-system</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Input-Method.html#index-quail_002dset_002dkeyboard_002dlayout-1396"><code>quail-set-keyboard-layout</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Input-Method.html#index-quail_002dshow_002dkey-1397"><code>quail-show-key</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Name-Coding.html#index-recode_002dfile_002dname-1446"><code>recode-file-name</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Coding.html#index-recode_002dregion-1433"><code>recode-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Coding.html#index-revert_002dbuffer_002dwith_002dcoding_002dsystem-1432"><code>revert-buffer-with-coding-system</code></a><code>['C-x RET r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Coding.html#index-set_002dbuffer_002dfile_002dcoding_002dsystem-1426"><code>set-buffer-file-coding-system</code></a><code>['C-x RET f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Communication-Coding.html#index-set_002dbuffer_002dprocess_002dcoding_002dsystem-1439"><code>set-buffer-process-coding-system</code></a><code>['C-x RET p']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/File-Name-Coding.html#index-set_002dfile_002dname_002dcoding_002dsystem-1444"><code>set-file-name-coding-system</code></a><code>['C-x RET F']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Input-Method.html#index-set_002dinput_002dmethod-1390"><code>set-input-method</code></a><code>['C-x RET C-\\']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Terminal-Coding.html#index-set_002dkeyboard_002dcoding_002dsystem-1450"><code>set-keyboard-coding-system</code></a><code>['C-x RET k']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Language-Environments.html#index-set_002dlanguage_002denvironment-1368"><code>set-language-environment</code></a><code>['C-x RET l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Language-Environments.html#index-set_002dlocale_002denvironment-1374"><code>set-locale-environment</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Communication-Coding.html#index-set_002dnext_002dselection_002dcoding_002dsystem-1437"><code>set-next-selection-coding-system</code></a><code>['C-x RET X']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Communication-Coding.html#index-set_002dselection_002dcoding_002dsystem-1436"><code>set-selection-coding-system</code></a><code>['C-x RET x']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Terminal-Coding.html#index-set_002dterminal_002dcoding_002dsystem-1448"><code>set-terminal-coding-system</code></a><code>['C-x RET t']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Unibyte-Mode.html#index-standard_002ddisplay_002d8bit-1464"><code>standard-display-8bit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Enabling-Multibyte.html#index-toggle_002denable_002dmultibyte_002dcharacters-1361"><code>toggle-enable-multibyte-characters</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Input-Method.html#index-toggle_002dinput_002dmethod-1393"><code>toggle-input-method</code></a><code>['C-\\']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Coding-Systems.html#index-unify_002d8859_002don_002ddecoding_002dmode-1409"><code>unify-8859-on-decoding-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Coding.html#index-universal_002dcoding_002dsystem_002dargument-1429"><code>universal-coding-system-argument</code></a><code>['C-x RET c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/International-Chars.html#index-view_002dhello_002dfile-1354"><code>view-hello-file</code></a><code>['C-h h', '<f1> h', '<help> h']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="28">Major Modes</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html#index-normal_002dmode-1486"><code>normal-mode</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="29">Indentation</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation-Commands.html#index-back_002dto_002dindentation-1492"><code>back-to-indentation</code></a><code>['M-m']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation-Commands.html#index-delete_002dindentation-1496"><code>delete-indentation</code></a><code>['M-^']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Stops.html#index-edit_002dtab_002dstops-1508"><code>edit-tab-stops</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Stops.html#index-edit_002dtab_002dstops_002dnote_002dchanges-1509"><code>edit-tab-stops-note-changes</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation-Commands.html#index-indent_002dregion-1499"><code>indent-region</code></a><code>['C-M-\\']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation-Commands.html#index-indent_002drelative-1502"><code>indent-relative</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation-Commands.html#index-indent_002drigidly-1500"><code>indent-rigidly</code></a><code>['C-x TAB']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation-Commands.html#index-split_002dline-1494"><code>split-line</code></a><code>['C-M-o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Stops.html#index-tab_002dto_002dtab_002dstop-1507"><code>tab-to-tab-stop</code></a><code>['M-i']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Just-Spaces.html#index-tabify-1513"><code>tabify</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Just-Spaces.html#index-untabify-1514"><code>untabify</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="30">Commands for Human Languages</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Fill.html#index-auto_002dfill_002dmode-1571"><code>auto-fill-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.html#index-backward_002dkill_002dsentence-1543"><code>backward-kill-sentence</code></a><code>['C-x DEL']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Words.html#index-backward_002dkill_002dword-1530"><code>backward-kill-word</code></a><code>['<C-backspace>', 'M-DEL']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Pages.html#index-backward_002dpage-1562"><code>backward-page</code></a><code>['C-x [']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Paragraphs.html#index-backward_002dparagraph-1551"><code>backward-paragraph</code></a><code>['<C-up>', 'M-{']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.html#index-backward_002dsentence-1538"><code>backward-sentence</code></a><code>['M-a']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Nroff-Mode.html#index-backward_002dtext_002dline-1787"><code>backward-text-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Words.html#index-backward_002dword-1527"><code>backward-word</code></a><code>['<C-left>', '<M-left>', 'M-b', 'ESC <left>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Case.html#index-capitalize_002dword-1615"><code>capitalize-word</code></a><code>['M-c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Commands.html#index-center_002dline-1579"><code>center-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Pages.html#index-count_002dlines_002dpage-1566"><code>count-lines-page</code></a><code>['C-x l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Nroff-Mode.html#index-count_002dtext_002dlines-1788"><code>count-text-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Format-Info.html#index-describe_002dtext_002dproperties-1808"><code>describe-text-properties</code></a><code>['<C-down-mouse-2> <dp>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html#index-doctex_002dmode-1698"><code>doctex-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Case.html#index-downcase_002dregion-1618"><code>downcase-region</code></a><code>['C-x C-l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Case.html#index-downcase_002dword-1613"><code>downcase-word</code></a><code>['M-l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Nroff-Mode.html#index-electric_002dnroff_002dmode-1792"><code>electric-nroff-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Requesting-Formatted-Text.html#index-enriched_002dmode-1800"><code>enriched-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Format-Info.html#index-facemenu_002dremove_002dall-1807"><code>facemenu-remove-all</code></a><code>['<C-down-mouse-2> <ra>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Format-Info.html#index-facemenu_002dremove_002dface_002dprops-1806"><code>facemenu-remove-face-props</code></a><code>['<C-down-mouse-2> <rm>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Colors.html#index-facemenu_002dset_002dbackground-1826"><code>facemenu-set-background</code></a><code>['<C-down-mouse-2> <bg> o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Faces.html#index-facemenu_002dset_002dbold-1816"><code>facemenu-set-bold</code></a><code>['M-o b', '<C-down-mouse-2> <fc> b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Faces.html#index-facemenu_002dset_002dbold_002ditalic-1820"><code>facemenu-set-bold-italic</code></a><code>['M-o l', '<C-down-mouse-2> <fc> l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Faces.html#index-facemenu_002dset_002ddefault-1814"><code>facemenu-set-default</code></a><code>['M-o d', '<C-down-mouse-2> <fc> d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Faces.html#index-facemenu_002dset_002dface-1824"><code>facemenu-set-face</code></a><code>['M-o o', '<C-down-mouse-2> <fc> o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Colors.html#index-facemenu_002dset_002dforeground-1825"><code>facemenu-set-foreground</code></a><code>['<C-down-mouse-2> <fg> o']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Faces.html#index-facemenu_002dset_002ditalic-1818"><code>facemenu-set-italic</code></a><code>['M-o i', '<C-down-mouse-2> <fc> i']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Faces.html#index-facemenu_002dset_002dunderline-1822"><code>facemenu-set-underline</code></a><code>['M-o u', '<C-down-mouse-2> <fc> u']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Prefix.html#index-fill_002dindividual_002dparagraphs-1588"><code>fill-individual-paragraphs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Prefix.html#index-fill_002dnonuniform_002dparagraphs-1589"><code>fill-nonuniform-paragraphs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Commands.html#index-fill_002dparagraph-1573"><code>fill-paragraph</code></a><code>['M-q']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Commands.html#index-fill_002dregion-1574"><code>fill-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Commands.html#index-fill_002dregion_002das_002dparagraph-1575"><code>fill-region-as-paragraph</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Foldout.html#index-foldout_002dexit_002dfold-1684"><code>foldout-exit-fold</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Foldout.html#index-foldout_002dzoom_002dsubtree-1682"><code>foldout-zoom-subtree</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Forcing-Enriched-Mode.html#index-format_002dfind_002dfile-1846"><code>format-find-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Pages.html#index-forward_002dpage-1561"><code>forward-page</code></a><code>['C-x ]']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Paragraphs.html#index-forward_002dparagraph-1552"><code>forward-paragraph</code></a><code>['<C-down>', 'M-}']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.html#index-forward_002dsentence-1539"><code>forward-sentence</code></a><code>['M-e']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Nroff-Mode.html#index-forward_002dtext_002dline-1786"><code>forward-text-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Words.html#index-forward_002dword-1526"><code>forward-word</code></a><code>['<C-right>', '<M-right>', 'M-f', 'ESC <right>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-hide_002dbody-1667"><code>hide-body</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-hide_002dentry-1652"><code>hide-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-hide_002dleaves-1661"><code>hide-leaves</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-hide_002dother-1673"><code>hide-other</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-hide_002dsublevels-1671"><code>hide-sublevels</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-hide_002dsubtree-1656"><code>hide-subtree</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Indentation.html#index-increase_002dleft_002dmargin-1828"><code>increase-left-margin</code></a><code>['']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Misc.html#index-iso_002dgtex2iso-1755"><code>iso-gtex2iso</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Misc.html#index-iso_002diso2gtex-1754"><code>iso-iso2gtex</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Misc.html#index-iso_002diso2tex-1752"><code>iso-iso2tex</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Misc.html#index-iso_002dtex2iso-1753"><code>iso-tex2iso</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sentences.html#index-kill_002dsentence-1542"><code>kill-sentence</code></a><code>['M-k']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Words.html#index-kill_002dword-1529"><code>kill-word</code></a><code>['<C-delete>', 'M-d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html#index-latex_002dmode-1696"><code>latex-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Longlines.html#index-longlines_002dauto_002dwrap-1604"><code>longlines-auto-wrap</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Longlines.html#index-longlines_002dmode-1603"><code>longlines-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Longlines.html#index-longlines_002dshow_002dhard_002dnewlines-1605"><code>longlines-show-hard-newlines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Pages.html#index-mark_002dpage-1564"><code>mark-page</code></a><code>['C-x C-p']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Paragraphs.html#index-mark_002dparagraph-1554"><code>mark-paragraph</code></a><code>['M-h']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Words.html#index-mark_002dword-1533"><code>mark-word</code></a><code>['M-@']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Nroff-Mode.html#index-nroff_002dmode-1785"><code>nroff-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Motion.html#index-outline_002dbackward_002dsame_002dlevel-1648"><code>outline-backward-same-level</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Motion.html#index-outline_002dforward_002dsame_002dlevel-1647"><code>outline-forward-same-level</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Mode.html#index-outline_002dminor_002dmode-1634"><code>outline-minor-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Mode.html#index-outline_002dmode-1633"><code>outline-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Motion.html#index-outline_002dnext_002dvisible_002dheading-1642"><code>outline-next-visible-heading</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Motion.html#index-outline_002dprevious_002dvisible_002dheading-1643"><code>outline-previous-visible-heading</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Motion.html#index-outline_002dup_002dheading-1646"><code>outline-up-heading</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Mode.html#index-paragraph_002dindent_002dminor_002dmode-1627"><code>paragraph-indent-minor-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Mode.html#index-paragraph_002dindent_002dtext_002dmode-1626"><code>paragraph-indent-text-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html#index-plain_002dtex_002dmode-1695"><code>plain-tex-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-reveal_002dmode-1675"><code>reveal-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Commands.html#index-set_002dfill_002dcolumn-1582"><code>set-fill-column</code></a><code>['C-x f']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fill-Prefix.html#index-set_002dfill_002dprefix-1587"><code>set-fill-prefix</code></a><code>['C-x .']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Justification.html#index-set_002djustification_002dcenter-1842"><code>set-justification-center</code></a><code>['<C-down-mouse-2> <ju> c']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Justification.html#index-set_002djustification_002dfull-1839"><code>set-justification-full</code></a><code>['<C-down-mouse-2> <ju> b']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Justification.html#index-set_002djustification_002dleft-1835"><code>set-justification-left</code></a><code>['<C-down-mouse-2> <ju> l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Justification.html#index-set_002djustification_002dnone-1844"><code>set-justification-none</code></a><code>['<C-down-mouse-2> <ju> u']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Justification.html#index-set_002djustification_002dright-1837"><code>set-justification-right</code></a><code>['<C-down-mouse-2> <ju> r']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Indentation.html#index-set_002dleft_002dmargin-1832"><code>set-left-margin</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Format-Indentation.html#index-set_002dright_002dmargin-1833"><code>set-right-margin</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dattributes-1766"><code>sgml-attributes</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dclose_002dtag-1776"><code>sgml-close-tag</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002ddelete_002dtag-1772"><code>sgml-delete-tag</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dname_002d8bit_002dmode-1778"><code>sgml-name-8bit-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dname_002dchar-1762"><code>sgml-name-char</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dskip_002dtag_002dbackward-1770"><code>sgml-skip-tag-backward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dskip_002dtag_002dforward-1768"><code>sgml-skip-tag-forward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dtag-1764"><code>sgml-tag</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dtag_002dhelp-1774"><code>sgml-tag-help</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dtags_002dinvisible-1782"><code>sgml-tags-invisible</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/HTML-Mode.html#index-sgml_002dvalidate-1780"><code>sgml-validate</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-show_002dall-1668"><code>show-all</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-show_002dbranches-1662"><code>show-branches</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-show_002dchildren-1666"><code>show-children</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-show_002dentry-1653"><code>show-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Visibility.html#index-show_002dsubtree-1657"><code>show-subtree</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html#index-slitex_002dmode-1697"><code>slitex-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dbackward_002dcell-1865"><code>table-backward-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Conversion.html#index-table_002dcapture-1894"><code>table-capture</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Row-Commands.html#index-table_002ddelete_002drow-1885"><code>table-delete-row</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fixed-Width-Mode.html#index-table_002dfixed_002dwidth_002dmode-1891"><code>table-fixed-width-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dforward_002dcell-1864"><code>table-forward-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Misc.html#index-table_002dgenerate_002dsource-1902"><code>table-generate-source</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dheighten_002dcell-1874"><code>table-heighten-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Creation.html#index-table_002dinsert-1854"><code>table-insert</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Column-Commands.html#index-table_002dinsert_002dcolumn-1888"><code>table-insert-column</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Row-Commands.html#index-table_002dinsert_002drow-1883"><code>table-insert-row</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Misc.html#index-table_002dinsert_002dsequence-1899"><code>table-insert-sequence</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Justification.html#index-table_002djustify-1879"><code>table-justify</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dnarrow_002dcell-1877"><code>table-narrow-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Measuring-Tables.html#index-table_002dquery_002ddimension-1897"><code>table-query-dimension</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002drecognize-1856"><code>table-recognize</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002drecognize_002dcell-1862"><code>table-recognize-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002drecognize_002dregion-1858"><code>table-recognize-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002drecognize_002dtable-1860"><code>table-recognize-table</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Conversion.html#index-table_002drelease-1895"><code>table-release</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dshorten_002dcell-1875"><code>table-shorten-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dspan_002dcell-1866"><code>table-span-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dsplit_002dcell-1867"><code>table-split-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dsplit_002dcell_002dhorizontally-1871"><code>table-split-cell-horizontally</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dsplit_002dcell_002dvertically-1870"><code>table-split-cell-vertically</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002dunrecognize-1857"><code>table-unrecognize</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002dunrecognize_002dcell-1863"><code>table-unrecognize-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002dunrecognize_002dregion-1859"><code>table-unrecognize-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Table-Recognition.html#index-table_002dunrecognize_002dtable-1861"><code>table-unrecognize-table</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Cell-Commands.html#index-table_002dwiden_002dcell-1876"><code>table-widen-cell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dbibtex_002dfile-1742"><code>tex-bibtex-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dbuffer-1714"><code>tex-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/LaTeX-Editing.html#index-tex_002dclose_002dlatex_002dblock-1712"><code>tex-close-latex-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dcompile-1745"><code>tex-compile</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dfile-1737"><code>tex-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Editing.html#index-tex_002dinsert_002dbraces-1702"><code>tex-insert-braces</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Editing.html#index-tex_002dinsert_002dquote-1700"><code>tex-insert-quote</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dkill_002djob-1730"><code>tex-kill-job</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/LaTeX-Editing.html#index-tex_002dlatex_002dblock-1709"><code>tex-latex-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html#index-tex_002dmode-1694"><code>tex-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dprint-1716"><code>tex-print</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002drecenter_002doutput_002dbuffer-1732"><code>tex-recenter-output-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dregion-1734"><code>tex-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dshow_002dprint_002dqueue-1720"><code>tex-show-print-queue</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Editing.html#index-tex_002dterminate_002dparagraph-1707"><code>tex-terminate-paragraph</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Editing.html#index-tex_002dvalidate_002dregion-1706"><code>tex-validate-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Print.html#index-tex_002dview-1718"><code>tex-view</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Mode.html#index-text_002dmode-1622"><code>text-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Editing.html#index-up_002dlist-1704"><code>up-list</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Case.html#index-upcase_002dregion-1619"><code>upcase-region</code></a><code>['C-x C-u']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Case.html#index-upcase_002dword-1614"><code>upcase-word</code></a><code>['M-u']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="31">Editing Programs</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Man-Page.html#index-Man_002dfontify_002dmanpage-2054"><code>Man-fontify-manpage</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Parens.html#index-backward_002dlist-2011"><code>backward-list</code></a><code>['C-M-p']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expressions.html#index-backward_002dsexp-1993"><code>backward-sexp</code></a><code>['<C-M-left>', 'C-M-b', 'ESC <C-left>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Parens.html#index-backward_002dup_002dlist-2013"><code>backward-up-list</code></a><code>['<C-M-up>', 'C-M-u', 'ESC <C-up>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Defuns.html#index-beginning_002dof_002ddefun-1943"><code>beginning-of-defun</code></a><code>['<C-M-home>', 'C-M-a', 'ESC <C-home>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-c_002dbackslash_002dregion-2138"><code>c-backslash-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Motion-in-C.html#index-c_002dbackward_002dconditional-2109"><code>c-backward-conditional</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Motion-in-C.html#index-c_002dbeginning_002dof_002ddefun-2104"><code>c-beginning-of-defun</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Motion-in-C.html#index-c_002dbeginning_002dof_002dstatement-2113"><code>c-beginning-of-statement</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-c_002dcontext_002dline_002dbreak-2131"><code>c-context-line-break</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Program-Modes.html#index-c_002delectric_002dbackspace-1927"><code>c-electric-backspace</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Motion-in-C.html#index-c_002dend_002dof_002ddefun-2105"><code>c-end-of-defun</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Motion-in-C.html#index-c_002dend_002dof_002dstatement-2115"><code>c-end-of-statement</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-c_002dfill_002dparagraph-2133"><code>c-fill-paragraph</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Motion-in-C.html#index-c_002dforward_002dconditional-2111"><code>c-forward-conditional</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hungry-Delete.html#index-c_002dhungry_002ddelete_002dbackwards-2121"><code>c-hungry-delete-backwards</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hungry-Delete.html#index-c_002dhungry_002ddelete_002dforward-2124"><code>c-hungry-delete-forward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Indent.html#index-c_002dindent_002dcommand-1961"><code>c-indent-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Indent.html#index-c_002dindent_002dcommand-1961"><code>c-indent-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/C-Indent.html#index-c_002dindent_002ddefun-1975"><code>c-indent-defun</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/C-Indent.html#index-c_002dindent_002dexp-1977"><code>c-indent-exp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-c_002dmacro_002dexpand-2136"><code>c-macro-expand</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Defuns.html#index-c_002dmark_002dfunction-1947"><code>c-mark-function</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Custom-C-Indent.html#index-c_002dset_002dstyle-1982"><code>c-set-style</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-c_002dshow_002dsyntactic_002dinformation-2142"><code>c-show-syntactic-information</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-c_002dsubword_002dmode-2130"><code>c-subword-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Electric-C.html#index-c_002dtoggle_002dauto_002dnewline-2119"><code>c-toggle-auto-newline</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Electric-C.html#index-c_002dtoggle_002delectric_002dstate-2117"><code>c-toggle-electric-state</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hungry-Delete.html#index-c_002dtoggle_002dhungry_002dstate-2128"><code>c-toggle-hungry-state</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Motion-in-C.html#index-c_002dup_002dconditional-2107"><code>c-up-conditional</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Parentheses.html#index-check_002dparens-1984"><code>check-parens</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comment-Commands.html#index-comment_002ddwim-2028"><code>comment-dwim</code></a><code>['M-;']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Multi_002dLine-Comments.html#index-comment_002dindent_002dnew_002dline-2034"><code>comment-indent-new-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comment-Commands.html#index-comment_002dkill-2029"><code>comment-kill</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Multi_002dLine-Comments.html#index-comment_002dregion-2036"><code>comment-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Options-for-Comments.html#index-comment_002dset_002dcolumn-2039"><code>comment-set-column</code></a><code>['C-x ;']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Symbol-Completion.html#index-complete_002dsymbol-2081"><code>complete-symbol</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-cpp_002dhighlight_002dbuffer-2141"><code>cpp-highlight-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-cwarn_002dmode-2144"><code>cwarn-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Parens.html#index-down_002dlist-2015"><code>down-list</code></a><code>['<C-M-down>', 'C-M-d', 'ESC <C-down>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Doc.html#index-eldoc_002dmode-2058"><code>eldoc-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Defuns.html#index-end_002dof_002ddefun-1944"><code>end-of-defun</code></a><code>['<C-M-end>', 'C-M-e', 'ESC <C-end>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-f90_002dbeginning_002dof_002dblock-2176"><code>f90-beginning-of-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-f90_002dend_002dof_002dblock-2173"><code>f90-end-of-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran.html#index-f90_002dmode-2159"><code>f90-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-f90_002dnext_002dblock-2168"><code>f90-next-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-f90_002dnext_002dstatement-2163"><code>f90-next-statement</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-f90_002dprevious_002dblock-2170"><code>f90-previous-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-f90_002dprevious_002dstatement-2166"><code>f90-previous-statement</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-ff_002dfind_002drelated_002dfile-2152"><code>ff-find-related-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-fortran_002dbeginning_002dof_002dblock-2175"><code>fortran-beginning-of-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Columns.html#index-fortran_002dcolumn_002druler-2209"><code>fortran-column-ruler</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Comments.html#index-fortran_002dcomment_002dregion-2205"><code>fortran-comment-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-fortran_002dend_002dof_002dblock-2172"><code>fortran-end-of-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Comments.html#index-fortran_002dindent_002dcomment-2199"><code>fortran-indent-comment</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/ForIndent-Commands.html#index-fortran_002dindent_002dsubprogram-2178"><code>fortran-indent-subprogram</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/ForIndent-Commands.html#index-fortran_002djoin_002dline-2183"><code>fortran-join-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran.html#index-fortran_002dmode-2160"><code>fortran-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-fortran_002dnext_002dstatement-2162"><code>fortran-next-statement</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Motion.html#index-fortran_002dprevious_002dstatement-2165"><code>fortran-previous-statement</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/ForIndent-Commands.html#index-fortran_002dsplit_002dline-2180"><code>fortran-split-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Columns.html#index-fortran_002dstrip_002dsequence_002dnos-2216"><code>fortran-strip-sequence-nos</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Columns.html#index-fortran_002dwindow_002dcreate-2215"><code>fortran-window-create</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fortran-Columns.html#index-fortran_002dwindow_002dcreate_002dmomentarily-2213"><code>fortran-window-create-momentarily</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Parens.html#index-forward_002dlist-2010"><code>forward-list</code></a><code>['C-M-n']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expressions.html#index-forward_002dsexp-1992"><code>forward-sexp</code></a><code>['<C-M-right>', 'C-M-f', 'ESC <C-right>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Glasses.html#index-glasses_002dmode-2088"><code>glasses-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-global_002dcwarn_002dmode-2145"><code>global-cwarn-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-C-Commands.html#index-hide_002difdef_002dmode-2149"><code>hide-ifdef-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html#index-hs_002dhide_002dall-2060"><code>hs-hide-all</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html#index-hs_002dhide_002dblock-2061"><code>hs-hide-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html#index-hs_002dhide_002dlevel-2065"><code>hs-hide-level</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html#index-hs_002dminor_002dmode-2059"><code>hs-minor-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html#index-hs_002dshow_002dall-2062"><code>hs-show-all</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html#index-hs_002dshow_002dblock-2063"><code>hs-show-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html#index-hs_002dshow_002dregion-2064"><code>hs-show-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Imenu.html#index-imenu-1951"><code>imenu</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Imenu.html#index-imenu_002dadd_002dmenubar_002dindex-1952"><code>imenu-add-menubar-index</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Multi_002dline-Indent.html#index-indent_002dcode_002drigidly-1969"><code>indent-code-rigidly</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Indent.html#index-indent_002dfor_002dtab_002dcommand-1963"><code>indent-for-tab-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Indent.html#index-indent_002dline_002dfunction-1962"><code>indent-line-function</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Multi_002dline-Indent.html#index-indent_002dpp_002dsexp-1967"><code>indent-pp-sexp</code></a><code>['C-M-q']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Info-Lookup.html#index-info_002dlookup_002dfile-2047"><code>info-lookup-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Help.html#index-info_002dlookup_002dsymbol-253"><code>info-lookup-symbol</code></a><code>['C-h S', '<f1> S', '<help> S']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expressions.html#index-kill_002dsexp-1996"><code>kill-sexp</code></a><code>['C-M-k']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Symbol-Completion.html#index-lisp_002dcomplete_002dsymbol-2084"><code>lisp-complete-symbol</code></a><code>['M-TAB']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Man-Page.html#index-manual_002dentry-2050"><code>manual-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Moving-by-Defuns.html#index-mark_002ddefun-1945"><code>mark-defun</code></a><code>['C-M-h']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expressions.html#index-mark_002dsexp-2002"><code>mark-sexp</code></a><code>['C-M-@', 'C-M-SPC']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Indent.html#index-newline_002dand_002dindent-1965"><code>newline-and-indent</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Matching.html#index-show_002dparen_002dmode-2023"><code>show-paren-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expressions.html#index-transpose_002dsexps-1999"><code>transpose-sexps</code></a><code>['C-M-t']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Which-Function.html#index-which_002dfunction_002dmode-1956"><code>which-function-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Man-Page.html#index-woman-2055"><code>woman</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="32">Compiling and Testing Programs</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html#index-compilation_002dnext_002derror-2242"><code>compilation-next-error</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html#index-compilation_002dnext_002dfile-2244"><code>compilation-next-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html#index-compilation_002dprevious_002derror-2243"><code>compilation-previous-error</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html#index-compilation_002dprevious_002dfile-2245"><code>compilation-previous-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation.html#index-compile-2224"><code>compile</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html#index-compile_002dgoto_002derror-2233"><code>compile-goto-error</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Starting-GUD.html#index-dbx-2264"><code>dbx</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Eval.html#index-emacs_002dlisp_002dmode-2354"><code>emacs-lisp-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Eval.html#index-eval_002dbuffer-2362"><code>eval-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Eval.html#index-eval_002ddefun-2358"><code>eval-defun</code></a><code>['C-M-x']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Eval.html#index-eval_002dexpression-2356"><code>eval-expression</code></a><code>['M-:', 'M-ESC :']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Eval.html#index-eval_002dlast_002dsexp-2360"><code>eval-last-sexp</code></a><code>['C-x C-e']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Eval.html#index-eval_002dregion-2361"><code>eval-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Grep-Searching.html#index-find_002dgrep-2250"><code>find-grep</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Starting-GUD.html#index-gdb-2263"><code>gdb</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Breakpoints-Buffer.html#index-gdb_002ddelete_002dbreakpoint-2324"><code>gdb-delete-breakpoint</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Watch-Expressions.html#index-gdb_002dedit_002dvalue-2338"><code>gdb-edit-value</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Stack-Buffer.html#index-gdb_002dframes_002dselect-2328"><code>gdb-frames-select</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Breakpoints-Buffer.html#index-gdb_002dgoto_002dbreakpoint-2326"><code>gdb-goto-breakpoint</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/GDB_002dUI-Layout.html#index-gdb_002dmany_002dwindows-2319"><code>gdb-many-windows</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/GDB_002dUI-Layout.html#index-gdb_002drestore_002dwindows-2318"><code>gdb-restore-windows</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-GDB_002dUI-Buffers.html#index-gdb_002dthreads_002dselect-2331"><code>gdb-threads-select</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Breakpoints-Buffer.html#index-gdb_002dtoggle_002dbreakpoint-2322"><code>gdb-toggle-breakpoint</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Watch-Expressions.html#index-gdb_002dvar_002ddelete-2336"><code>gdb-var-delete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/GDB-Graphical-Interface.html#index-gdba-2315"><code>gdba</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Grep-Searching.html#index-grep-2248"><code>grep</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Grep-Searching.html#index-grep_002dfind-2249"><code>grep-find</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dcont-2289"><code>gud-cont</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/GUD-Customization.html#index-gud_002ddef-2313"><code>gud-def</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002ddown-2297"><code>gud-down</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dfinish-2301"><code>gud-finish</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dgdb_002dcomplete_002dcommand-2305"><code>gud-gdb-complete-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002djump-2303"><code>gud-jump</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dnext-2283"><code>gud-next</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dprint-2287"><code>gud-print</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002drefresh-2279"><code>gud-refresh</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dremove-2291"><code>gud-remove</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dstep-2281"><code>gud-step</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dstepi-2285"><code>gud-stepi</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dtbreak-2293"><code>gud-tbreak</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002duntil-2299"><code>gud-until</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Commands-of-GUD.html#index-gud_002dup-2295"><code>gud-up</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Watch-Expressions.html#index-gud_002dwatch-2333"><code>gud-watch</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Interaction.html#index-ielm-2367"><code>ielm</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Starting-GUD.html#index-jdb-2269"><code>jdb</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation.html#index-kill_002dcompilation-2229"><code>kill-compilation</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Grep-Searching.html#index-lgrep-2251"><code>lgrep</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/External-Lisp.html#index-lisp_002deval_002ddefun-2373"><code>lisp-eval-defun</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Interaction.html#index-lisp_002dinteraction_002dmode-2366"><code>lisp-interaction-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/External-Lisp.html#index-lisp_002dmode-2371"><code>lisp-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Libraries.html#index-load-2346"><code>load</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Libraries.html#index-load_002dfile-2345"><code>load-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Libraries.html#index-load_002dlibrary-2347"><code>load-library</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html#index-next_002derror-2237"><code>next-error</code></a><code>['C-x `', 'M-g n', 'M-g M-n']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html#index-next_002derror_002dfollow_002dminor_002dmode-2247"><code>next-error-follow-minor-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Starting-GUD.html#index-pdb-2270"><code>pdb</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Starting-GUD.html#index-perldb-2268"><code>perldb</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation.html#index-recompile-2228"><code>recompile</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Grep-Searching.html#index-rgrep-2252"><code>rgrep</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/External-Lisp.html#index-run_002dlisp-2368"><code>run-lisp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Starting-GUD.html#index-sdb-2267"><code>sdb</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-GDB_002dUI-Buffers.html#index-toggle_002dgdb_002dall_002dregisters-2330"><code>toggle-gdb-all-registers</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Starting-GUD.html#index-xdb-2265"><code>xdb</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="33">Maintaining Large Programs</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Log.html#index-add_002dchange_002dlog_002dentry_002dother_002dwindow-2376"><code>add-change-log-entry-other-window</code></a><code>['C-x 4 a']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Log.html#index-change_002dlog_002dmerge-2384"><code>change-log-merge</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Log.html#index-change_002dlog_002dmode-2383"><code>change-log-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Submodes-of-Emerge.html#index-emerge_002dauto_002dadvance_002dmode-2426"><code>emerge-auto-advance-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Overview-of-Emerge.html#index-emerge_002dbuffers-2422"><code>emerge-buffers</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Overview-of-Emerge.html#index-emerge_002dbuffers_002dwith_002dancestor-2423"><code>emerge-buffers-with-ancestor</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Overview-of-Emerge.html#index-emerge_002dfiles-2420"><code>emerge-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Overview-of-Emerge.html#index-emerge_002dfiles_002dwith_002dancestor-2421"><code>emerge-files-with-ancestor</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Submodes-of-Emerge.html#index-emerge_002dskip_002dprefers_002dmode-2427"><code>emerge-skip-prefers-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Tag.html#index-find_002dtag-2395"><code>find-tag</code></a><code>['M-.']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Tag.html#index-find_002dtag_002dother_002dframe-2399"><code>find-tag-other-frame</code></a><code>['C-x 5 .']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Tag.html#index-find_002dtag_002dother_002dwindow-2397"><code>find-tag-other-window</code></a><code>['C-x 4 .']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Tag.html#index-find_002dtag_002dregexp-2403"><code>find-tag-regexp</code></a><code>['C-M-.']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/List-Tags.html#index-list_002dtags-2413"><code>list-tags</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Tag.html#index-pop_002dtag_002dmark-2401"><code>pop-tag-mark</code></a><code>['M-*']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/List-Tags.html#index-tags_002dapropos-2414"><code>tags-apropos</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tags-Search.html#index-tags_002dloop_002dcontinue-2409"><code>tags-loop-continue</code></a><code>['M-,']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tags-Search.html#index-tags_002dquery_002dreplace-2410"><code>tags-query-replace</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tags-Search.html#index-tags_002dsearch-2407"><code>tags-search</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Tags-Table.html#index-visit_002dtags_002dtable-2392"><code>visit-tags-table</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="34">Abbrevs</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Abbrev-Concepts.html#index-abbrev_002dmode-2432"><code>abbrev-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expanding-Abbrevs.html#index-abbrev_002dprefix_002dmark-2450"><code>abbrev-prefix-mark</code></a><code>["M-'"]</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Abbrevs.html#index-add_002dglobal_002dabbrev-2437"><code>add-global-abbrev</code></a><code>['C-x a g']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Abbrevs.html#index-add_002dmode_002dabbrev-2439"><code>add-mode-abbrev</code></a><code>['C-x a C-a', 'C-x a +', 'C-x a l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dynamic-Abbrevs.html#index-dabbrev_002dcompletion-2466"><code>dabbrev-completion</code></a><code>['C-M-/']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dynamic-Abbrevs.html#index-dabbrev_002dexpand-2465"><code>dabbrev-expand</code></a><code>['M-/']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Abbrevs.html#index-define_002dabbrevs-2462"><code>define-abbrevs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Abbrevs.html#index-define_002dglobal_002dabbrev-2445"><code>define-global-abbrev</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Abbrevs.html#index-define_002dmode_002dabbrev-2444"><code>define-mode-abbrev</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Abbrevs.html#index-edit_002dabbrevs-2454"><code>edit-abbrevs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expanding-Abbrevs.html#index-expand_002dabbrev-2448"><code>expand-abbrev</code></a><code>["C-x '", "C-x a '", 'C-x a e']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expanding-Abbrevs.html#index-expand_002dregion_002dabbrevs-2452"><code>expand-region-abbrevs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Abbrevs.html#index-insert_002dabbrevs-2461"><code>insert-abbrevs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Abbrevs.html#index-inverse_002dadd_002dglobal_002dabbrev-2441"><code>inverse-add-global-abbrev</code></a><code>['C-x a -', 'C-x a i g']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Abbrevs.html#index-inverse_002dadd_002dmode_002dabbrev-2443"><code>inverse-add-mode-abbrev</code></a><code>['C-x a i l']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Abbrevs.html#index-kill_002dall_002dabbrevs-2446"><code>kill-all-abbrevs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Abbrevs.html#index-list_002dabbrevs-2453"><code>list-abbrevs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Abbrevs.html#index-quietly_002dread_002dabbrev_002dfile-2458"><code>quietly-read-abbrev-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Abbrevs.html#index-read_002dabbrev_002dfile-2457"><code>read-abbrev-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Expanding-Abbrevs.html#index-unexpand_002dabbrev-2451"><code>unexpand-abbrev</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Abbrevs.html#index-write_002dabbrev_002dfile-2456"><code>write-abbrev-file</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="35">Editing Pictures</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Picture-Mode.html#index-edit_002dpicture-2477"><code>edit-picture</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dbackward_002dclear_002dcolumn-2485"><code>picture-backward-clear-column</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dbackward_002dcolumn-2480"><code>picture-backward-column</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dclear_002dcolumn-2486"><code>picture-clear-column</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dclear_002dline-2487"><code>picture-clear-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles-in-Picture.html#index-picture_002dclear_002drectangle-2520"><code>picture-clear-rectangle</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles-in-Picture.html#index-picture_002dclear_002drectangle_002dto_002dregister-2521"><code>picture-clear-rectangle-to-register</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dforward_002dcolumn-2479"><code>picture-forward-column</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmotion-2508"><code>picture-motion</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmotion_002dreverse-2509"><code>picture-motion-reverse</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dmove_002ddown-2481"><code>picture-move-down</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dmove_002dup-2482"><code>picture-move-up</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002ddown-2491"><code>picture-movement-down</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002dleft-2492"><code>picture-movement-left</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002dne-2495"><code>picture-movement-ne</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002dnw-2494"><code>picture-movement-nw</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002dright-2493"><code>picture-movement-right</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002dse-2497"><code>picture-movement-se</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002dsw-2496"><code>picture-movement-sw</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Insert-in-Picture.html#index-picture_002dmovement_002dup-2490"><code>picture-movement-up</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dnewline-2484"><code>picture-newline</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Picture.html#index-picture_002dopen_002dline-2488"><code>picture-open-line</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tabs-in-Picture.html#index-picture_002dset_002dtab_002dstops-2515"><code>picture-set-tab-stops</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tabs-in-Picture.html#index-picture_002dtab-2513"><code>picture-tab</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Tabs-in-Picture.html#index-picture_002dtab_002dsearch-2511"><code>picture-tab-search</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles-in-Picture.html#index-picture_002dyank_002drectangle-2524"><code>picture-yank-rectangle</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rectangles-in-Picture.html#index-picture_002dyank_002drectangle_002dfrom_002dregister-2525"><code>picture-yank-rectangle-from-register</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="36">Sending Mail</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sending-Mail.html#index-compose_002dmail-2530"><code>compose-mail</code></a><code>['C-x m']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sending-Mail.html#index-compose_002dmail_002dother_002dframe-2534"><code>compose-mail-other-frame</code></a><code>['C-x 5 m']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sending-Mail.html#index-compose_002dmail_002dother_002dwindow-2532"><code>compose-mail-other-window</code></a><code>['C-x 4 m']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Aliases.html#index-define_002dmail_002dabbrev-2551"><code>define-mail-abbrev</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Aliases.html#index-define_002dmail_002dalias-2547"><code>define-mail-alias</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Aliases.html#index-expand_002dmail_002daliases-2550"><code>expand-mail-aliases</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Amusements.html#index-fortune_002dto_002dsignature-2597"><code>fortune-to-signature</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Mode-Misc.html#index-ispell_002dmessage-2590"><code>ispell-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Mode-Misc.html#index-mail_002dattach_002dfile-2592"><code>mail-attach-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Header-Editing.html#index-mail_002dbcc-2572"><code>mail-bcc</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Header-Editing.html#index-mail_002dcc-2570"><code>mail-cc</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Header-Editing.html#index-mail_002dcomplete-2575"><code>mail-complete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Header-Editing.html#index-mail_002dfcc-2574"><code>mail-fcc</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Citing-Mail.html#index-mail_002dfill_002dyanked_002dmessage-2584"><code>mail-fill-yanked-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Aliases.html#index-mail_002dinteractive_002dinsert_002dalias-2554"><code>mail-interactive-insert-alias</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Sending.html#index-mail_002dsend-2559"><code>mail-send</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Sending.html#index-mail_002dsend_002dand_002dexit-2560"><code>mail-send-and-exit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Mode-Misc.html#index-mail_002dsignature-2588"><code>mail-signature</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Header-Editing.html#index-mail_002dsubject-2568"><code>mail-subject</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Mode-Misc.html#index-mail_002dtext-2586"><code>mail-text</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Header-Editing.html#index-mail_002dto-2566"><code>mail-to</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Citing-Mail.html#index-mail_002dyank_002doriginal-2579"><code>mail-yank-original</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Citing-Mail.html#index-mail_002dyank_002dregion-2582"><code>mail-yank-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Amusements.html#index-spook-2595"><code>spook</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="37">Reading Mail with Rmail</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail.html#index-rmail-2605"><code>rmail</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Labels.html#index-rmail_002dadd_002dlabel-2675"><code>rmail-add-label</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Scrolling.html#index-rmail_002dbeginning_002dof_002dmessage-2621"><code>rmail-beginning-of-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Basics.html#index-rmail_002dbury-2616"><code>rmail-bury</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Reply.html#index-rmail_002dcontinue-2697"><code>rmail-continue</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Deletion.html#index-rmail_002ddelete_002dbackward-2645"><code>rmail-delete-backward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Deletion.html#index-rmail_002ddelete_002dforward-2644"><code>rmail-delete-forward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Editing.html#index-rmail_002dedit_002dcurrent_002dmessage-2727"><code>rmail-edit-current-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Scrolling.html#index-rmail_002dend_002dof_002dmessage-2622"><code>rmail-end-of-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Deletion.html#index-rmail_002dexpunge-2649"><code>rmail-expunge</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Basics.html#index-rmail_002dexpunge_002dand_002dsave-2612"><code>rmail-expunge-and-save</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dfirst_002dmessage-2639"><code>rmail-first-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Reply.html#index-rmail_002dforward-2690"><code>rmail-forward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Files.html#index-rmail_002dget_002dnew_002dmail-2662"><code>rmail-get-new-mail</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Files.html#index-rmail_002dinput-2657"><code>rmail-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Labels.html#index-rmail_002dkill_002dlabel-2676"><code>rmail-kill-label</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dlast_002dmessage-2638"><code>rmail-last-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Reply.html#index-rmail_002dmail-2695"><code>rmail-mail</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail.html#index-rmail_002dmode-2606"><code>rmail-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Labels.html#index-rmail_002dnext_002dlabeled_002dmessage-2679"><code>rmail-next-labeled-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dnext_002dmessage-2629"><code>rmail-next-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dnext_002dundeleted_002dmessage-2627"><code>rmail-next-undeleted-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Output.html#index-rmail_002doutput-2666"><code>rmail-output</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Output.html#index-rmail_002doutput_002dbody_002dto_002dfile-2668"><code>rmail-output-body-to-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Output.html#index-rmail_002doutput_002dto_002drmail_002dfile-2664"><code>rmail-output-to-rmail-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Labels.html#index-rmail_002dprevious_002dlabeled_002dmessage-2680"><code>rmail-previous-labeled-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dprevious_002dmessage-2630"><code>rmail-previous-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dprevious_002dundeleted_002dmessage-2628"><code>rmail-previous-undeleted-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Basics.html#index-rmail_002dquit-2614"><code>rmail-quit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Coding.html#index-rmail_002dredecode_002dbody-2725"><code>rmail-redecode-body</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Reply.html#index-rmail_002dreply-2682"><code>rmail-reply</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Reply.html#index-rmail_002dresend-2693"><code>rmail-resend</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Reply.html#index-rmail_002dretry_002dfailure-2686"><code>rmail-retry-failure</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dsearch-2632"><code>rmail-search</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Motion.html#index-rmail_002dshow_002dmessage-2637"><code>rmail-show-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Make-Summary.html#index-rmail_002dsummary-2701"><code>rmail-summary</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Make-Summary.html#index-rmail_002dsummary_002dby_002dlabels-2704"><code>rmail-summary-by-labels</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Make-Summary.html#index-rmail_002dsummary_002dby_002drecipients-2706"><code>rmail-summary-by-recipients</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Make-Summary.html#index-rmail_002dsummary_002dby_002dregexp-2710"><code>rmail-summary-by-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Make-Summary.html#index-rmail_002dsummary_002dby_002dtopic-2708"><code>rmail-summary-by-topic</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Summary-Edit.html#index-rmail_002dsummary_002dquit-2717"><code>rmail-summary-quit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Summary-Edit.html#index-rmail_002dsummary_002dwipe-2715"><code>rmail-summary-wipe</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Display.html#index-rmail_002dtoggle_002dheader-2721"><code>rmail-toggle-header</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Deletion.html#index-rmail_002dundelete_002dprevious_002dmessage-2651"><code>rmail-undelete-previous-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Rot13.html#index-rot13_002dother_002dwindow-2737"><code>rot13-other-window</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Files.html#index-set_002drmail_002dinbox_002dlist-2660"><code>set-rmail-inbox-list</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Digest.html#index-undigestify_002drmail_002dmessage-2731"><code>undigestify-rmail-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Reply.html#index-unforward_002drmail_002dmessage-2692"><code>unforward-rmail-message</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Out-of-Rmail.html#index-unrmail-2734"><code>unrmail</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="38">Dired, the Directory Editor</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Enter.html#index-dired-2755"><code>dired</code></a><code>['C-x d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comparison-in-Dired.html#index-dired_002dbackup_002ddiff-2927"><code>dired-backup-diff</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dchange_002dmarks-2844"><code>dired-change-marks</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Flagging-Many-Files.html#index-dired_002dclean_002ddirectory-2790"><code>dired-clean-directory</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Dired-Features.html#index-dired_002dcompare_002ddirectories-2988"><code>dired-compare-directories</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Dired-Features.html#index-dired_002dcopy_002dfilename_002das_002dkill-2987"><code>dired-copy-filename-as-kill</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Dired-Features.html#index-dired_002dcreate_002ddirectory-2984"><code>dired-create-directory</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Comparison-in-Dired.html#index-dired_002ddiff-2925"><code>dired-diff</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Visiting.html#index-dired_002ddisplay_002dfile-2800"><code>dired-display-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dbyte_002dcompile-2896"><code>dired-do-byte-compile</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dchgrp-2877"><code>dired-do-chgrp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dchmod-2874"><code>dired-do-chmod</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dchown-2880"><code>dired-do-chown</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dcompress-2890"><code>dired-do-compress</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dcopy-2856"><code>dired-do-copy</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#index-dired_002ddo_002dcopy_002dregexp-2918"><code>dired-do-copy-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002ddelete-2862"><code>dired-do-delete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Deletion.html#index-dired_002ddo_002dflagged_002ddelete-2774"><code>dired-do-flagged-delete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dhardlink-2868"><code>dired-do-hardlink</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#index-dired_002ddo_002dhardlink_002dregexp-2920"><code>dired-do-hardlink-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Updating.html#index-dired_002ddo_002dkill_002dlines-2961"><code>dired-do-kill-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dload-2893"><code>dired-do-load</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dprint-2887"><code>dired-do-print</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dquery_002dreplace_002dregexp-2903"><code>dired-do-query-replace-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Updating.html#index-dired_002ddo_002dredisplay-2959"><code>dired-do-redisplay</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002drename-2864"><code>dired-do-rename</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#index-dired_002ddo_002drename_002dregexp-2916"><code>dired-do-rename-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dsearch-2900"><code>dired-do-search</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Commands-in-Dired.html#index-dired_002ddo_002dshell_002dcommand-2906"><code>dired-do-shell-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dsymlink-2871"><code>dired-do-symlink</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#index-dired_002ddo_002dsymlink_002dregexp-2922"><code>dired-do-symlink-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Operating-on-Files.html#index-dired_002ddo_002dtouch-2884"><code>dired-do-touch</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#index-dired_002ddowncase-2912"><code>dired-downcase</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Visiting.html#index-dired_002dfind_002dfile-2794"><code>dired-find-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Visiting.html#index-dired_002dfind_002dfile_002dother_002dwindow-2798"><code>dired-find-file-other-window</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Flagging-Many-Files.html#index-dired_002dflag_002dauto_002dsave_002dfiles-2784"><code>dired-flag-auto-save-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Flagging-Many-Files.html#index-dired_002dflag_002dbackup_002dfiles-2787"><code>dired-flag-backup-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Deletion.html#index-dired_002dflag_002dfile_002ddeletion-2770"><code>dired-flag-file-deletion</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Flagging-Many-Files.html#index-dired_002dflag_002dfiles_002dregexp-2791"><code>dired-flag-files-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Flagging-Many-Files.html#index-dired_002dflag_002dgarbage_002dfiles-2780"><code>dired-flag-garbage-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Navigation.html#index-dired_002dgoto_002dfile-2765"><code>dired-goto-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hiding-Subdirectories.html#index-dired_002dhide_002dall-2952"><code>dired-hide-all</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hiding-Subdirectories.html#index-dired_002dhide_002dsubdir-2950"><code>dired-hide-subdir</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dmark-2809"><code>dired-mark</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dmark_002ddirectories-2817"><code>dired-mark-directories</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dmark_002dexecutables-2811"><code>dired-mark-executables</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dmark_002dfiles_002dcontaining_002dregexp-2848"><code>dired-mark-files-containing-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dmark_002dfiles_002dregexp-2845"><code>dired-mark-files-regexp</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dmark_002dsubdir_002dfiles-2820"><code>dired-mark-subdir-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dmark_002dsymlinks-2814"><code>dired-mark-symlinks</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Subdirectories-in-Dired.html#index-dired_002dmaybe_002dinsert_002dsubdir-2931"><code>dired-maybe-insert-subdir</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Visiting.html#index-dired_002dmouse_002dfind_002dfile_002dother_002dwindow-2801"><code>dired-mouse-find-file-other-window</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Subdirectory-Motion.html#index-dired_002dnext_002ddirline-2947"><code>dired-next-dirline</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dnext_002dmarked_002dfile-2833"><code>dired-next-marked-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Subdirectory-Motion.html#index-dired_002dnext_002dsubdir-2937"><code>dired-next-subdir</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Enter.html#index-dired_002dother_002dframe-2760"><code>dired-other-frame</code></a><code>['C-x 5 d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Enter.html#index-dired_002dother_002dwindow-2758"><code>dired-other-window</code></a><code>['C-x 4 d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Subdirectory-Motion.html#index-dired_002dprev_002ddirline-2945"><code>dired-prev-dirline</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dprev_002dmarked_002dfile-2836"><code>dired-prev-marked-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Subdirectory-Motion.html#index-dired_002dprev_002dsubdir-2939"><code>dired-prev-subdir</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Updating.html#index-dired_002dsort_002dtoggle_002dor_002dedit-2965"><code>dired-sort-toggle-or-edit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dtoggle_002dmarks-2841"><code>dired-toggle-marks</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Subdirectory-Motion.html#index-dired_002dtree_002ddown-2943"><code>dired-tree-down</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Subdirectory-Motion.html#index-dired_002dtree_002dup-2941"><code>dired-tree-up</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dundo-2852"><code>dired-undo</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dunmark-2823"><code>dired-unmark</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dunmark_002dall_002dfiles-2832"><code>dired-unmark-all-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dunmark_002dall_002dmarks-2829"><code>dired-unmark-all-marks</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Marks-vs-Flags.html#index-dired_002dunmark_002dbackward-2825"><code>dired-unmark-backward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Visiting.html#index-dired_002dup_002ddirectory-2805"><code>dired-up-directory</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#index-dired_002dupcase-2909"><code>dired-upcase</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Visiting.html#index-dired_002dview_002dfile-2803"><code>dired-view-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-and-Find.html#index-find_002ddired-2969"><code>find-dired</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-and-Find.html#index-find_002dgrep_002ddired-2968"><code>find-grep-dired</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-and-Find.html#index-find_002dname_002ddired-2967"><code>find-name-dired</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Image_002dDired.html#index-image_002ddired_002ddisplay_002dthumbs-2981"><code>image-dired-display-thumbs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-and-Find.html#index-locate-2971"><code>locate</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-and-Find.html#index-locate_002dwith_002dfilter-2972"><code>locate-with-filter</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Updating.html#index-revert_002dbuffer-_0040r_007b_0028Dired_0029_007d-2957"><code>revert-buffer </code><span class="roman">(Dired)</span></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Wdired.html#index-wdired_002dchange_002dto_002dwdired_002dmode-2976"><code>wdired-change-to-wdired-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Wdired.html#index-wdired_002dfinish_002dedit-2977"><code>wdired-finish-edit</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="39">The Calendar and the Diary</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Date-Formats.html#index-american_002dcalendar-3152"><code>american-calendar</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Appointments.html#index-appt_002dactivate-3178"><code>appt-activate</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Appointments.html#index-appt_002dadd-3181"><code>appt-add</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Appointments.html#index-appt_002ddelete-3182"><code>appt-delete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar_002fDiary.html#index-calendar-2991"><code>calendar</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Unit-Motion.html#index-calendar_002dbackward_002dday-2996"><code>calendar-backward-day</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Unit-Motion.html#index-calendar_002dbackward_002dmonth-3004"><code>calendar-backward-month</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Unit-Motion.html#index-calendar_002dbackward_002dweek-3000"><code>calendar-backward-week</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Move-to-Beginning-or-End.html#index-calendar_002dbeginning_002dof_002dmonth-3014"><code>calendar-beginning-of-month</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Move-to-Beginning-or-End.html#index-calendar_002dbeginning_002dof_002dweek-3010"><code>calendar-beginning-of-week</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Move-to-Beginning-or-End.html#index-calendar_002dbeginning_002dof_002dyear-3018"><code>calendar-beginning-of-year</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Counting-Days.html#index-calendar_002dcount_002ddays_002dregion-3044"><code>calendar-count-days-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Holidays.html#index-calendar_002dcursor_002dholidays-3060"><code>calendar-cursor-holidays</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Move-to-Beginning-or-End.html#index-calendar_002dend_002dof_002dmonth-3016"><code>calendar-end-of-month</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Move-to-Beginning-or-End.html#index-calendar_002dend_002dof_002dweek-3012"><code>calendar-end-of-week</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Move-to-Beginning-or-End.html#index-calendar_002dend_002dof_002dyear-3020"><code>calendar-end-of-year</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Unit-Motion.html#index-calendar_002dforward_002dday-2994"><code>calendar-forward-day</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Unit-Motion.html#index-calendar_002dforward_002dmonth-3002"><code>calendar-forward-month</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Unit-Motion.html#index-calendar_002dforward_002dweek-2998"><code>calendar-forward-week</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Unit-Motion.html#index-calendar_002dforward_002dyear-3006"><code>calendar-forward-year</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dastro_002dday_002dnumber-3115"><code>calendar-goto-astro-day-number</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dchinese_002ddate-3119"><code>calendar-goto-chinese-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dcoptic_002ddate-3121"><code>calendar-goto-coptic-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specified-Dates.html#index-calendar_002dgoto_002ddate-3025"><code>calendar-goto-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specified-Dates.html#index-calendar_002dgoto_002dday_002dof_002dyear-3027"><code>calendar-goto-day-of-year</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dethiopic_002ddate-3122"><code>calendar-goto-ethiopic-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dfrench_002ddate-3118"><code>calendar-goto-french-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dhebrew_002ddate-3116"><code>calendar-goto-hebrew-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dislamic_002ddate-3117"><code>calendar-goto-islamic-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002diso_002ddate-3112"><code>calendar-goto-iso-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specified-Dates.html#index-calendar_002dgoto_002diso_002dweek-3029"><code>calendar-goto-iso-week</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specified-Dates.html#index-calendar_002dgoto_002diso_002dweek-3029"><code>calendar-goto-iso-week</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002djulian_002ddate-3114"><code>calendar-goto-julian-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mayan-Calendar.html#index-calendar_002dgoto_002dmayan_002dlong_002dcount_002ddate-3127"><code>calendar-goto-mayan-long-count-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-calendar_002dgoto_002dpersian_002ddate-3120"><code>calendar-goto-persian-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specified-Dates.html#index-calendar_002dgoto_002dtoday-3033"><code>calendar-goto-today</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Customizing.html#index-calendar_002dmark_002dtoday-3214"><code>calendar-mark-today</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mayan-Calendar.html#index-calendar_002dnext_002dcalendar_002dround_002ddate-3134"><code>calendar-next-calendar-round-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mayan-Calendar.html#index-calendar_002dnext_002dhaab_002ddate-3132"><code>calendar-next-haab-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mayan-Calendar.html#index-calendar_002dnext_002dtzolkin_002ddate-3129"><code>calendar-next-tzolkin-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specified-Dates.html#index-calendar_002dother_002dmonth-3031"><code>calendar-other-month</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lunar-Phases.html#index-calendar_002dphases_002dof_002dmoon-3084"><code>calendar-phases-of-moon</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mayan-Calendar.html#index-calendar_002dprevious_002dhaab_002ddate-3131"><code>calendar-previous-haab-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mayan-Calendar.html#index-calendar_002dprevious_002dtzolkin_002ddate-3128"><code>calendar-previous-tzolkin-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dastro_002dday_002dnumber-3102"><code>calendar-print-astro-day-number</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dchinese_002ddate-3106"><code>calendar-print-chinese-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dcoptic_002ddate-3107"><code>calendar-print-coptic-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/General-Calendar.html#index-calendar_002dprint_002dday_002dof_002dyear-3047"><code>calendar-print-day-of-year</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dethiopic_002ddate-3108"><code>calendar-print-ethiopic-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dfrench_002ddate-3105"><code>calendar-print-french-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dhebrew_002ddate-3103"><code>calendar-print-hebrew-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dislamic_002ddate-3104"><code>calendar-print-islamic-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002diso_002ddate-3100"><code>calendar-print-iso-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002djulian_002ddate-3101"><code>calendar-print-julian-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dmayan_002ddate-3110"><code>calendar-print-mayan-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/To-Other-Calendar.html#index-calendar_002dprint_002dpersian_002ddate-3109"><code>calendar-print-persian-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar-Customizing.html#index-calendar_002dstar_002ddate-3213"><code>calendar-star-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sunrise_002fSunset.html#index-calendar_002dsunrise_002dsunset-3073"><code>calendar-sunrise-sunset</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Holidays.html#index-calendar_002dunmark-3065"><code>calendar-unmark</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Displaying-the-Diary.html#index-diary-3145"><code>diary</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-diary_002danniversary-3163"><code>diary-anniversary</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-diary_002danniversary-3163"><code>diary-anniversary</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dastro_002dday_002dnumber-3270"><code>diary-astro-day-number</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-diary_002dblock-3164"><code>diary-block</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-diary_002dcyclic-3169"><code>diary-cyclic</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-diary_002dcyclic-3169"><code>diary-cyclic</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002ddate-3263"><code>diary-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dday_002dof_002dyear-3267"><code>diary-day-of-year</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-diary_002dfloat-3170"><code>diary-float</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-diary_002dfloat-3170"><code>diary-float</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dfrench_002ddate-3273"><code>diary-french-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dhebrew_002ddate-3271"><code>diary-hebrew-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dislamic_002ddate-3272"><code>diary-islamic-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002diso_002ddate-3268"><code>diary-iso-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002djulian_002ddate-3269"><code>diary-julian-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Displaying-the-Diary.html#index-diary_002dmail_002dentries-3146"><code>diary-mail-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dmayan_002ddate-3274"><code>diary-mayan-date</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002domer-3282"><code>diary-omer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dparasha-3278"><code>diary-parasha</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dphases_002dof_002dmoon-3266"><code>diary-phases-of-moon</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dremind-3262"><code>diary-remind</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002drosh_002dhodesh-3276"><code>diary-rosh-hodesh</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dsabbath_002dcandles-3280"><code>diary-sabbath-candles</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Displaying-the-Diary.html#index-diary_002dshow_002dall_002dentries-3144"><code>diary-show-all-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dsunrise_002dsunset-3265"><code>diary-sunrise-sunset</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Displaying-the-Diary.html#index-diary_002dview_002dentries-3138"><code>diary-view-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#index-diary_002dyahrzeit-3284"><code>diary-yahrzeit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Date-Formats.html#index-european_002dcalendar-3151"><code>european-calendar</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/General-Calendar.html#index-exit_002dcalendar-3052"><code>exit-calendar</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fancy-Diary-Display.html#index-fancy_002ddiary_002ddisplay-3251"><code>fancy-diary-display</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Holidays.html#index-holidays-3069"><code>holidays</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Importing-Diary.html#index-icalendar_002dexport_002dfile_002c-icalendar_002dexport_002dregion-3188"><code>icalendar-export-file, icalendar-export-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Importing-Diary.html#index-icalendar_002dimport_002dbuffer-3186"><code>icalendar-import-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Importing-Diary.html#index-icalendar_002dimport_002dfile-3187"><code>icalendar-import-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fancy-Diary-Display.html#index-include_002dother_002ddiary_002dfiles-3257"><code>include-other-diary-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-insert_002danniversary_002ddiary_002dentry-3162"><code>insert-anniversary-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-insert_002dblock_002ddiary_002dentry-3166"><code>insert-block-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Special-Diary-Entries.html#index-insert_002dcyclic_002ddiary_002dentry-3168"><code>insert-cyclic-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Adding-to-Diary.html#index-insert_002ddiary_002dentry-3154"><code>insert-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-insert_002dhebrew_002ddiary_002dentry-3242"><code>insert-hebrew-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-insert_002dislamic_002ddiary_002dentry-3245"><code>insert-islamic-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Adding-to-Diary.html#index-insert_002dmonthly_002ddiary_002dentry-3158"><code>insert-monthly-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-insert_002dmonthly_002dhebrew_002ddiary_002dentry-3243"><code>insert-monthly-hebrew-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-insert_002dmonthly_002dislamic_002ddiary_002dentry-3246"><code>insert-monthly-islamic-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Adding-to-Diary.html#index-insert_002dweekly_002ddiary_002dentry-3156"><code>insert-weekly-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Adding-to-Diary.html#index-insert_002dyearly_002ddiary_002dentry-3160"><code>insert-yearly-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-insert_002dyearly_002dhebrew_002ddiary_002dentry-3244"><code>insert-yearly-hebrew-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-insert_002dyearly_002dislamic_002ddiary_002dentry-3247"><code>insert-yearly-islamic-diary-entry</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Holidays.html#index-list_002dcalendar_002dholidays-3068"><code>list-calendar-holidays</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-list_002dhebrew_002ddiary_002dentries-3238"><code>list-hebrew-diary-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Holidays.html#index-list_002dholidays-3070"><code>list-holidays</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-list_002dislamic_002ddiary_002dentries-3240"><code>list-islamic-diary-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/From-Other-Calendar.html#index-list_002dyahrzeit_002ddates-3123"><code>list-yahrzeit-dates</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Holidays.html#index-mark_002dcalendar_002dholidays-3063"><code>mark-calendar-holidays</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Displaying-the-Diary.html#index-mark_002ddiary_002dentries-3141"><code>mark-diary-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-mark_002dhebrew_002ddiary_002dentries-3239"><code>mark-hebrew-diary-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fancy-Diary-Display.html#index-mark_002dincluded_002ddiary_002dfiles-3258"><code>mark-included-diary-files</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hebrew_002fIslamic-Entries.html#index-mark_002dislamic_002ddiary_002dentries-3241"><code>mark-islamic-diary-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Lunar-Phases.html#index-phases_002dof_002dmoon-3085"><code>phases-of-moon</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Diary-Customizing.html#index-print_002ddiary_002dentries-3234"><code>print-diary-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/General-Calendar.html#index-redraw_002dcalendar-3049"><code>redraw-calendar</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scroll-Calendar.html#index-scroll_002dcalendar_002dleft-3036"><code>scroll-calendar-left</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scroll-Calendar.html#index-scroll_002dcalendar_002dleft_002dthree_002dmonths-3040"><code>scroll-calendar-left-three-months</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scroll-Calendar.html#index-scroll_002dcalendar_002dright-3038"><code>scroll-calendar-right</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Scroll-Calendar.html#index-scroll_002dcalendar_002dright_002dthree_002dmonths-3042"><code>scroll-calendar-right-three-months</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fancy-Diary-Display.html#index-simple_002ddiary_002ddisplay-3249"><code>simple-diary-display</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Fancy-Diary-Display.html#index-sort_002ddiary_002dentries-3254"><code>sort-diary-entries</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sunrise_002fSunset.html#index-sunrise_002dsunset-3074"><code>sunrise-sunset</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Intervals.html#index-timeclock_002dchange-3199"><code>timeclock-change</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Intervals.html#index-timeclock_002din-3197"><code>timeclock-in</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Intervals.html#index-timeclock_002dmodeline_002ddisplay-3203"><code>timeclock-modeline-display</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Intervals.html#index-timeclock_002dout-3198"><code>timeclock-out</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Intervals.html#index-timeclock_002dreread_002dlog-3207"><code>timeclock-reread-log</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Intervals.html#index-timeclock_002dwhen_002dto_002dleave-3201"><code>timeclock-when-to-leave</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Intervals.html#index-timeclock_002dworkday_002dremaining-3200"><code>timeclock-workday-remaining</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="40">Gnus</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Gnus.html#index-gnus-3287"><code>gnus</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dexit-3289"><code>gnus-group-exit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dkill_002dgroup-3299"><code>gnus-group-kill-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dlist_002dall_002dgroups-3291"><code>gnus-group-list-all-groups</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dlist_002dgroups-3293"><code>gnus-group-list-groups</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dnext_002dgroup-3311"><code>gnus-group-next-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dnext_002dunread_002dgroup-3305"><code>gnus-group-next-unread-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dprev_002dgroup-3313"><code>gnus-group-prev-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dprev_002dunread_002dgroup-3308"><code>gnus-group-prev-unread-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dread_002dgroup-3301"><code>gnus-group-read-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dgroup_002dunsubscribe_002dcurrent_002dgroup-3295"><code>gnus-group-unsubscribe-current-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dsummary_002disearch_002darticle-3319"><code>gnus-summary-isearch-article</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dsummary_002dnext_002dsubject-3315"><code>gnus-summary-next-subject</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dsummary_002dnext_002dunread_002darticle-3306"><code>gnus-summary-next-unread-article</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dsummary_002dprev_002dpage-3303"><code>gnus-summary-prev-page</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dsummary_002dprev_002dsubject-3317"><code>gnus-summary-prev-subject</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dsummary_002dprev_002dunread_002darticle-3309"><code>gnus-summary-prev-unread-article</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Summary-of-Gnus.html#index-gnus_002dsummary_002dsearch_002darticle_002dforward-3321"><code>gnus-summary-search-article-forward</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="41">Running Shell Commands from Emacs</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dbol_002dor_002dprocess_002dmark-3352"><code>comint-bol-or-process-mark</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dcontinue_002dsubjob-3377"><code>comint-continue-subjob</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-History-Copying.html#index-comint_002dcopy_002dold_002dinput-3407"><code>comint-copy-old-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002ddelchar_002dor_002dmaybe_002deof-3350"><code>comint-delchar-or-maybe-eof</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002ddelete_002doutput-3363"><code>comint-delete-output</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002ddynamic_002dcomplete-3344"><code>comint-dynamic-complete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002ddynamic_002dlist_002dfilename_0040dots_007b_007d-3348"><code>comint-dynamic-list-filename...</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Ring.html#index-comint_002ddynamic_002dlist_002dinput_002dring-3400"><code>comint-dynamic-list-input-ring</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Ring.html#index-comint_002dget_002dnext_002dfrom_002dhistory-3396"><code>comint-get-next-from-history</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Ring.html#index-comint_002dinput_002dprevious_002dargument-3398"><code>comint-input-previous-argument</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dinterrupt_002dsubjob-3357"><code>comint-interrupt-subjob</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dkill_002dinput-3354"><code>comint-kill-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/History-References.html#index-comint_002dmagic_002dspace-3410"><code>comint-magic-space</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Ring.html#index-comint_002dnext_002dinput-3390"><code>comint-next-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Ring.html#index-comint_002dnext_002dmatching_002dinput-3394"><code>comint-next-matching-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-History-Copying.html#index-comint_002dnext_002dprompt-3405"><code>comint-next-prompt</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Ring.html#index-comint_002dprevious_002dinput-3387"><code>comint-previous-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Ring.html#index-comint_002dprevious_002dmatching_002dinput-3393"><code>comint-previous-matching-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-History-Copying.html#index-comint_002dprevious_002dprompt-3403"><code>comint-previous-prompt</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dquit_002dsubjob-3360"><code>comint-quit-subjob</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002drun-3382"><code>comint-run</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dsend_002dinput-3342"><code>comint-send-input</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dshow_002dmaximum_002doutput-3370"><code>comint-show-maximum-output</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dshow_002doutput-3368"><code>comint-show-output</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dstop_002dsubjob-3359"><code>comint-stop-subjob</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dstrip_002dctrl_002dm-3378"><code>comint-strip-ctrl-m</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dtruncate_002dbuffer-3379"><code>comint-truncate-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-comint_002dwrite_002doutput-3365"><code>comint-write-output</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Tracking.html#index-dirs-3415"><code>dirs</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Tracking.html#index-dirtrack_002dmode-3416"><code>dirtrack-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-send_002dinvisible-3376"><code>send-invisible</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Interactive-Shell.html#index-shell-3330"><code>shell</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-shell_002dbackward_002dcommand-3375"><code>shell-backward-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Single-Shell.html#index-shell_002dcommand-3325"><code>shell-command</code></a><code>['M-!']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Single-Shell.html#index-shell_002dcommand_002don_002dregion-3327"><code>shell-command-on-region</code></a><code>['M-|']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Mode.html#index-shell_002dforward_002dcommand-3372"><code>shell-forward-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Options.html#index-shell_002dpushd_002ddextract-3427"><code>shell-pushd-dextract</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Options.html#index-shell_002dpushd_002ddunique-3428"><code>shell-pushd-dunique</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Options.html#index-shell_002dpushd_002dtohome-3426"><code>shell-pushd-tohome</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Terminal-emulator.html#index-term-3429"><code>term</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Term-Mode.html#index-term_002dchar_002dmode-3433"><code>term-char-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Term-Mode.html#index-term_002dline_002dmode-3435"><code>term-line-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Paging-in-Term.html#index-term_002dpager_002dtoggle-3438"><code>term-pager-toggle</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="42">Using Emacs as a Server</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html#index-server_002dedit-3452"><code>server-edit</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html#index-server_002dstart-3448"><code>server-start</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="43">Printing Hard Copies</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Printing.html#index-lpr_002dbuffer-3464"><code>lpr-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Printing.html#index-lpr_002dregion-3465"><code>lpr-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Printing.html#index-print_002dbuffer-3462"><code>print-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Printing.html#index-print_002dregion-3463"><code>print-region</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="44">PostScript Hardcopy</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-handwrite-3479"><code>handwrite</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dprint_002dbuffer-3472"><code>ps-print-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dprint_002dbuffer_002dwith_002dfaces-3474"><code>ps-print-buffer-with-faces</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dprint_002dregion-3471"><code>ps-print-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dprint_002dregion_002dwith_002dfaces-3473"><code>ps-print-region-with-faces</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dspool_002dbuffer-3476"><code>ps-spool-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dspool_002dbuffer_002dwith_002dfaces-3478"><code>ps-spool-buffer-with-faces</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dspool_002dregion-3475"><code>ps-spool-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/PostScript.html#index-ps_002dspool_002dregion_002dwith_002dfaces-3477"><code>ps-spool-region-with-faces</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="46">Printing Package</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Printing-Package.html#index-pr_002dinterface-3500"><code>pr-interface</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="47">Sorting Text</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sorting.html#index-sort_002dcolumns-3508"><code>sort-columns</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sorting.html#index-sort_002dfields-3505"><code>sort-fields</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sorting.html#index-sort_002dlines-3502"><code>sort-lines</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sorting.html#index-sort_002dnumeric_002dfields-3506"><code>sort-numeric-fields</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sorting.html#index-sort_002dpages-3504"><code>sort-pages</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Sorting.html#index-sort_002dparagraphs-3503"><code>sort-paragraphs</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="48">Narrowing</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Narrowing.html#index-narrow_002dto_002ddefun-3519"><code>narrow-to-defun</code></a><code>['C-x n d']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Narrowing.html#index-narrow_002dto_002dpage-3517"><code>narrow-to-page</code></a><code>['C-x n p']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Narrowing.html#index-narrow_002dto_002dregion-3515"><code>narrow-to-region</code></a><code>['C-x n n']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Narrowing.html#index-widen-3521"><code>widen</code></a><code>['C-x n w']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="49">Two-Column Editing</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Two_002dColumn.html#index-g_t2C_002dassociate_002dbuffer-3533"><code>2C-associate-buffer</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Two_002dColumn.html#index-g_t2C_002ddissociate-3542"><code>2C-dissociate</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Two_002dColumn.html#index-g_t2C_002dmerge-3539"><code>2C-merge</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Two_002dColumn.html#index-g_t2C_002dnewline-3536"><code>2C-newline</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Two_002dColumn.html#index-g_t2C_002dsplit-3530"><code>2C-split</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Two_002dColumn.html#index-g_t2C_002dtwo_002dcolumns-3527"><code>2C-two-columns</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="51">Saving Emacs Sessions</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Emacs-Sessions.html#index-desktop_002dchange_002ddir-3554"><code>desktop-change-dir</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Emacs-Sessions.html#index-desktop_002dclear-3557"><code>desktop-clear</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Emacs-Sessions.html#index-desktop_002drevert-3555"><code>desktop-revert</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Emacs-Sessions.html#index-desktop_002dsave-3552"><code>desktop-save</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="52">Recursive Editing Levels</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Recursive-Edit.html#index-exit_002drecursive_002dedit-3563"><code>exit-recursive-edit</code></a><code>['C-M-c']</code><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="53">Emulation</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-crisp_002dmode-3575"><code>crisp-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-edt_002demulation_002doff-3583"><code>edt-emulation-off</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-edt_002demulation_002don-3582"><code>edt-emulation-on</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-scroll_002dall_002dmode-3577"><code>scroll-all-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-tpu_002dedt_002don-3584"><code>tpu-edt-on</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-vi_002dmode-3587"><code>vi-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-vip_002dmode-3588"><code>vip-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-viper_002dmode-3586"><code>viper-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html#index-wordstar_002dmode-3589"><code>wordstar-mode</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="54">Hyperlinking and Navigation Features</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Mode.html#index-browse_002durl-239"><code>browse-url</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Browse_002dURL.html#index-browse_002durl_002dat_002dmouse-3596"><code>browse-url-at-mouse</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Browse_002dURL.html#index-browse_002durl_002dat_002dpoint-3595"><code>browse-url-at-point</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/FFAP.html#index-dired_002dat_002dpoint-3605"><code>dired-at-point</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/FFAP.html#index-ffap-3604"><code>ffap</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/FFAP.html#index-ffap_002dmenu-3607"><code>ffap-menu</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/FFAP.html#index-ffap_002dmode-3610"><code>ffap-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/FFAP.html#index-ffap_002dnext-3606"><code>ffap-next</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/FFAP.html#index-find_002dfile_002dat_002dpoint-3603"><code>find-file-at-point</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Goto_002daddress.html#index-goto_002daddress-3600"><code>goto-address</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="55">Dissociated Press</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dissociated-Press.html#index-dissociated_002dpress-3619"><code>dissociated-press</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="56">Other Amusements</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-g_t5x5-3639"><code>5x5</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-blackbox-3637"><code>blackbox</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-decipher-3641"><code>decipher</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-dunnet-3644"><code>dunnet</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-gomoku-3634"><code>gomoku</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-hanoi-3632"><code>hanoi</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-life-3647"><code>life</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-lm-3645"><code>lm</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-morse_002dregion-3649"><code>morse-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-mpuz-3638"><code>mpuz</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-pong-3653"><code>pong</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-snake-3661"><code>snake</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-solitaire-3655"><code>solitaire</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-studlify_002dregion-3657"><code>studlify-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-tetris-3659"><code>tetris</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-unmorse_002dregion-3650"><code>unmorse-region</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-yow-3633"><code>yow</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html#index-zone-3664"><code>zone</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="57">Customization</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html#index-add_002dhook-3723"><code>add-hook</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Minor-Modes.html#index-binary_002doverwrite_002dmode-3672"><code>binary-overwrite-mode</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Easy-Customization.html#index-customize-3674"><code>customize</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html#index-customize_002dapropos-3703"><code>customize-apropos</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Browsing-Custom.html#index-customize_002dbrowse-3680"><code>customize-browse</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html#index-customize_002dchanged-3704"><code>customize-changed</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Custom-Themes.html#index-customize_002dcreate_002dtheme-3708"><code>customize-create-theme</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html#index-customize_002dface-3701"><code>customize-face</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html#index-customize_002dgroup-3702"><code>customize-group</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html#index-customize_002doption-3700"><code>customize-option</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html#index-customize_002dsaved-3705"><code>customize-saved</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html#index-customize_002dunsaved-3706"><code>customize-unsaved</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Locals.html#index-default_002dvalue-3731"><code>default-value</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Local-Keymaps.html#index-define_002dkey-3753"><code>define-key</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Syntax.html#index-describe_002dsyntax-3783"><code>describe-syntax</code></a><code>['C-h s', '<f1> s', '<help> s']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Disabling.html#index-disable_002dcommand-3779"><code>disable-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Custom-Themes.html#index-disable_002dtheme-3713"><code>disable-theme</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Disabling.html#index-enable_002dcommand-3780"><code>enable-command</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Custom-Themes.html#index-enable_002dtheme-3712"><code>enable-theme</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rebinding.html#index-global_002dset_002dkey-3763"><code>global-set-key</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rebinding.html#index-global_002dunset_002dkey-3765"><code>global-unset-key</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Locals.html#index-kill_002dlocal_002dvariable-3729"><code>kill-local-variable</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Custom-Themes.html#index-load_002dtheme-3711"><code>load-theme</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rebinding.html#index-local_002dset_002dkey-3764"><code>local-set-key</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Rebinding.html#index-local_002dunset_002dkey-3766"><code>local-unset-key</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Locals.html#index-make_002dlocal_002dvariable-3726"><code>make-local-variable</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Locals.html#index-make_002dvariable_002dbuffer_002dlocal-3727"><code>make-variable-buffer-local</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Face-Customization.html#index-modify_002dface-3699"><code>modify-face</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Minor-Modes.html#index-overwrite_002dmode-3670"><code>overwrite-mode</code></a><code>['<insert>', '<insertchar>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html#index-remove_002dhook-3724"><code>remove-hook</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Examining.html#index-set_002dvariable-3718"><code>set-variable</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Locals.html#index-setq_002ddefault-3730"><code>setq-default</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-Examples.html#index-substitute_002dkey_002ddefinition-3797"><code>substitute-key-definition</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Changing-a-Variable.html#index-widget_002dbackward-3689"><code>widget-backward</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Changing-a-Variable.html#index-widget_002dcomplete-3685"><code>widget-complete</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Changing-a-Variable.html#index-widget_002dforward-3688"><code>widget-forward</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="58">Quitting and Aborting</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html#index-abort_002drecursive_002dedit-3810"><code>abort-recursive-edit</code></a><code>['C-]']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html#index-keyboard_002descape_002dquit-3812"><code>keyboard-escape-quit</code></a><code>['M-ESC ESC']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html#index-keyboard_002dquit-3807"><code>keyboard-quit</code></a><code>['C-g']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html#index-top_002dlevel-3814"><code>top-level</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="59">Dealing with Emacs Trouble</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Total-Frustration.html#index-doctor-3824"><code>doctor</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Deletion.html#index-normal_002derase_002dis_002dbackspace_002dmode-326"><code>normal-erase-is-backspace-mode</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="60">Reporting Bugs</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Checklist.html#index-debug_005fprint-3838"><code>debug_print</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Understanding-Bug-Reporting.html#index-emacs_002dversion-3826"><code>emacs-version</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Checklist.html#index-open_002ddribble_002dfile-3829"><code>open-dribble-file</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Checklist.html#index-open_002dtermscript-3832"><code>open-termscript</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Checklist.html#index-report_002demacs_002dbug-3828"><code>report-emacs-bug</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Checklist.html#index-toggle_002ddebug_002don_002derror-3835"><code>toggle-debug-on-error</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="Appendix">C Command Line Arguments for Emacs Invocation</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Environment.html#index-getenv-3912"><code>getenv</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Colors.html#index-list_002dcolors_002ddisplay-3927"><code>list-colors-display</code></a><code>['<C-down-mouse-2> <dc>']</code><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Environment.html#index-setenv-3911"><code>setenv</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="Appendix">F Emacs and Mac OS</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-do_002dapplescript-4050"><code>do-applescript</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-mac_002dfile_002dname_002dto_002dposix-4051"><code>mac-file-name-to-posix</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-mac_002dget_002dfile_002dcreator-4054"><code>mac-get-file-creator</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-mac_002dget_002dfile_002dtype-4056"><code>mac-get-file-type</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-mac_002dget_002dpreference-4057"><code>mac-get-preference</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-mac_002dset_002dfile_002dcreator-4053"><code>mac-set-file-creator</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-mac_002dset_002dfile_002dtype-4055"><code>mac-set-file-type</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-Functions.html#index-posix_002dfile_002dname_002dto_002dmac-4052"><code>posix-file-name-to-mac</code></a><br /></td></tr>
<tr><td width="140" align="left" valign="top"><a name="Appendix">G Emacs and Microsoft Windows/MS-DOS</a></td><td valign="top"><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-and-Binary.html#index-add_002duntranslated_002dfilesystem-4066"><code>add-untranslated-filesystem</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/MS_002dDOS-and-MULE.html#index-codepage_002dsetup-4183"><code>codepage-setup</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/MS_002dDOS-Processes.html#index-compile-_0040r_007b_0028MS_002dDOS_0029_007d-4187"><code>compile </code><span class="roman">(MS-DOS)</span></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/MS_002dDOS-Processes.html#index-grep-_0040r_007b_0028MS_002dDOS_0029_007d-4188"><code>grep </code><span class="roman">(MS-DOS)</span></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/MS_002dDOS-Display.html#index-mode25-4163"><code>mode25</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/MS_002dDOS-Display.html#index-mode4350-4162"><code>mode4350</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/MS_002dDOS-Mouse.html#index-msdos_002dset_002dmouse_002dbuttons-4154"><code>msdos-set-mouse-buttons</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Printing.html#index-print_002dbuffer-_0040r_007b_0028MS_002dDOS_0029_007d-4121"><code>print-buffer </code><span class="roman">(MS-DOS)</span></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Printing.html#index-print_002dregion-_0040r_007b_0028MS_002dDOS_0029_007d-4122"><code>print-region </code><span class="roman">(MS-DOS)</span></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Printing.html#index-ps_002dprint_002dbuffer-_0040r_007b_0028MS_002dDOS_0029_007d-4128"><code>ps-print-buffer </code><span class="roman">(MS-DOS)</span></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Printing.html#index-ps_002dspool_002dbuffer-_0040r_007b_0028MS_002dDOS_0029_007d-4129"><code>ps-spool-buffer </code><span class="roman">(MS-DOS)</span></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Text-and-Binary.html#index-remove_002duntranslated_002dfilesystem-4067"><code>remove-untranslated-filesystem</code></a><br /><a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Processes.html#index-w32_002dshell_002dexecute-4117"><code>w32-shell-execute</code></a><br /></td></tr>
</table></span>
How to set the position and size for Emacs 22 Windows
2007-09-12T10:55:00-07:00https://www.saltycrane.com/blog/2007/09/how-to-set-position-and-size-for-emacs/
In your emacs windows shortcut put:<p>runemacs.exe -g 80x61+618+0</p><p>this creates an initial emacs frame 80 columns wide, 61 lines tall, 618<br />pixels offset from the left edge of the screen and 0 pixels offset from<br />the top of the screen. See also<br /><a href="http://www.gnu.org/software/emacs/windows/faq4.html#attributes">http://www.gnu.org/software/emacs/windows/faq4.html#attributes</a><br /><<a href="http://www.gnu.org/software/emacs/windows/faq4.html">http://www.gnu.org/software/emacs/windows/faq4.html</a>>
</p>
From Eclipse to Emacs
2007-09-10T17:54:00-07:00https://www.saltycrane.com/blog/2007/09/from-eclipse-to-emacs/<p>I am trying to learn Emacs after about a year of using Eclipse 3.2/3.3. See <a href="http://www.saltycrane.com/blog/2007/07/7-eclipse-killer-features-5-eclipse/">this post</a> for some reasons why. Below is a list of Eclipse keyboard shortcuts and their Emacs equivalents. I'm using Emacs 22.1 for Windows.</p>
<p><em>Update 2009-07-20:</em> After almost 2 years, I am still happily using Emacs
(now Emacs 23 on Ubuntu).
I made a few small corrections/updates to the table below.</p>
<table border="1" width="550">
<tr><td bgcolor="#aaaaaa" valign="top"><b>ECLIPSE COMMAND</b></td>
<td bgcolor="#aaaaaa" valign="top"><b>SIMILAR EMACS COMMAND</b><br />(Emacs manuals use C for the CTRL key and M for the Meta or Alt key. So, e.g. C-x means CTRL+X. For Emacs long commands, you can type TAB to complete the command name.)<br /><br /></td></tr>
<tr><td valign="top"><b>Cancel a command</b><br />ESC</td>
<td valign="top"><b>Cancel a command</b><br />C-g<br /><br /></td></tr>
<tr><td valign="top"><b>Open resource</b><br />CTRL+SHIFT+R</td>
<td valign="top"><b>Find file</b><br />Keybinding: C-x C-f<br />Command: M-x find-file<br />Notes: Type in the file to open. Hit TAB for filename completion. Hit up and down arrows for recently used files.<br /><br /></td></tr>
<tr>
<td valign="top">
<b>Save file</b><br />
CTRL+S
</td>
<td valign="top">
<b>Save buffer</b><br />
Keybinding: C-x C-s<br />
Command: M-x save-buffer<br /><br />
</td>
</tr>
<tr>
<td valign="top">
<b>Save As</b><br />
</td>
<td valign="top">
<b>Write file</b><br />
Keybinding: C-x C-w<br />
Command: M-x write-file<br /><br />
</td>
</tr>
<tr>
<td valign="top"><b>Close</b><br />CTRL+F4</td>
<td valign="top">
<p>Unlike Eclipse, Emacs' buffers and windows are distinct so closing a buffer and
closing a window require separate commands.</p>
<b>Kill this buffer</b><br />
Keybinding: C-x k<br />
Command: M-x kill-this-buffer<br /><br />
<b>Delete window</b><br />
Keybinding: C-x 0<br />
Command: M-x delete-window<br><br>
</td>
</tr>
<tr><td valign="top"><b>Undo/Redo</b><br />CTRL+Z / CTRL+Y<br /><br /></td>
<td valign="top"><b>Undo/ Undo Undo</b><br />Keybinding: C-_, C-x u, C-/<br />Command: M-x undo<br /><br />To redo, interrupt the undo sequence by entering any command (e.g. C-f), then undo again. This undoes what you just undid, which is like redo. See <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Undo.html#Undo">21.1 Undo</a> in the GNU Emacs Manual.<br /><br />This behavior can be confusing so there is also a RedoMode which behaves more like Eclipse and other editors. See <a href="http://www.emacswiki.org/cgi-bin/wiki/RedoMode">RedoMode</a> on the Emacs Wiki.<br /><br /></td></tr>
<tr><td valign="top"><b>Switch editors</b><br />Keybinding: CTRL+F6 or CTRL+SHIFT+F6<br />Command: CTRL+3 Next Editor or CTRL+3 Previous Editor<br /><br /></td>
<td valign="top"><b>Switch buffers</b><br />Keybinding: C-x RIGHTARROW or C-x LEFTARROW<br />See also: <a href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Buffers">24 Using Multiple Buffers</a> in the Emacs Manual<br /><br /></td></tr>
<tr><td valign="top"><b>Switch views</b><br />Keybinding: CTRL+F7 or CTRL+SHIFT+F7<br />Command: CTRL+3 Next View or CTRL+3 Previous View<br /><br /></td>
<td valign="top">After splitting into 2 windows with C-x 2, use C-x o to switch between windows.<br /><br />To scroll the other window, use C-M-v. This is useful to reference one window while editing in the other.<br /><br />To close the other window, type C-x 1 in the window you want to keep.<br /><br /></td></tr>
<tr><td valign="top"><b>Find and Replace</b><br />Keybinding: CTRL+F<br /></td>
<td valign="top"><b>Incremental Search</b><br />Keybinding: C-s<br /><br />
<b>Unconditional Replace</b><br />Command: M-x replace-string RET <i>string</i> RET <i>newstring</i> RET<br /><br />
<b>Regexp Replacement</b><br />Command: M-x replace-regexp RET <i>regexp</i> RET <i>newstring</i> RET<br /><br />
See also: <a href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Replace">20.9 Replacement Commands</a>
<br /><br /></td></tr>
<tr>
<td valign="top">
<b>Show line numbers</b><br />
Keybinding: none<br />
Command: CTRL+3 Show Line Numbers<br /><br />
</td>
<td valign="top">
<b>Linum</b> (Emacs >= 23 only)<br />
Keybinding: none<br />
Command: M-x linum-mode<br /><br />
For Emacs <= 22, look in your status bar for the line number or see
<a href="http://www.emacswiki.org/cgi-bin/wiki/LineNumbers">
http://www.emacswiki.org/cgi-bin/wiki/LineNumbers</a><br /><br />
</td>
</tr>
<tr><td valign="top"><b>Code Completion</b><br />Keybinding: CTRL+SPC<br /><br /></td>
<td valign="top"><b>Dynamic Abbrev Expansion</b><br />Keybinding: M-/<br />Command: M-x dabbrev-expand<br /><br />This command is much faster and simpler than Eclipse because it doesn't use the compiler/interpreter. However, I think it is less robust for the same reason. At this point, I think I like the Eclipse version better.<br /><br />See also <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dynamic-Abbrevs.html#Dynamic-Abbrevs">34.6 Dynamic Abbrev Expansion</a> in the manual.<br /><br /></td></tr>
<tr><td valign="top"><b>Keys</b><br />Command: CTRL+3 Keys - General<br /><br /></td>
<td valign="top"><b>Key Bindings</b><br />Keybinding: C-h b<br />Command: M-x describe-bindings<br /><br /></td></tr>
<tr>
<td valign="top"><b>Comment</b><br />Keybinding: CTRL+/<br /><br /></td>
<td valign="top">
<b>Comment DWIM (Do What I Mean)</b><br />
Keybinding: M-;<br />
Command: M-x comment-dwim<br /><br />
</td>
</tr>
<tr><td valign="top"><b>Shift Right (or Left)</b><br />Keybinding: TAB (SHIFT+BACKSPACE)<br /><br /></td>
<td valign="top"><b>Shift Region Right (or Left)</b><br />Keybinding: C-c > (C-c <)<br />Command: ???<br /><br />Note: This doesn't work if you're in CUA mode (i.e. using C-x/C-c/C-v Cut and Paste)<br /><br /></td></tr>
<tr><td valign="top"><b>Find text in Workspace</b><br />Keybinding: CTRL+ALT+G<br />Command: Find Text in Workspace<br /><br /></td>
<td valign="top"><b>grep</b> (and variants)<br />Command: M-x lgrep RET <em>string</em> RET <em>filepattern</em> RET <em>directory</em> RET.<br /><br /> See also <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Grep-Searching.html#Grep-Searching">32.4 Searching with Grep under Emacs</a><br /><br />I still miss this one in Eclipse. grep has more power than Eclipse, but the combination of pretty highlighting and searching across files is nice in Eclipse. I have created an Elisp function to at least grep for selected text with one key stroke. Put the following in your .emacs and you'll get something similar to CTRL+ALT+G in Eclipse.
<pre>;; my eclipse CTRL+ALT+G replacement
(defun grep-selected (start end)
(interactive "r")
(grep (concat "grep -nH -e "
(buffer-substring start end)
" * .*"))
(global-set-key "\C-\M-g" 'grep-selected)
</pre>I am just learning to customize emacs with Elisp so I'm sure there are improvements that can be made.</td></tr>
</table>
My software tools list
2007-08-10T13:32:00-07:00https://www.saltycrane.com/blog/2007/08/current-configuration/<style type="text/css">
td {
vertical-align: top;
}
</style>
<p>Inspired by Mark Pilgrim's
<a href="http://web.archive.org/web/20101214224709/http://diveintomark.org/archives/2006/06/26/essentials-2006">
2006 Essentials list</a>,
below is a list of my current software tools. If you notice a lot of
"I switched from ..." statements, keep in mind that I am a
<a href="http://undefined.com/ia/2006/10/10/the-fourteen-types-of-programmers-type-2-those-that-like-shiny-things/">
programmer who likes shiny things</a>.
</p>
<h4 id="other-lists">Other lists</h4>
<ul>
<li><a href="http://web.archive.org/web/20101214234142/http://diveintomark.org/archives/2008/10/28/essentials-2008">
Mark Pilgrim's Essentials, 2008 edition</a>
</li>
<li><a href="http://web.archive.org/web/20081226033542/http://adam.gomaa.us/blog/essentials-cop-out/">
Adam Gomaa's Essentials (2008)</a>
</li>
<li>Here is a <a href="http://mark.pilgrim.usesthis.com/">2010 update
for Mark Pilgrim</a>. After 2 and a half years, I still have several items
in common: <a href="#operating-system">Ubuntu</a> running <a href="#terminal">rxvt-unicode</a>
and <a href="#editor">Emacs 23</a>, the <a href="#keyboard">Unicomp keyboard</a>,
an <a href="#mobile-phone">Android phone</a>, <a href="#email">Gmail</a>,
Google Reader, Google Docs, and Pandora.
</li>
<li><a href="http://salvatore.sanfilippo.usesthis.com/">Salvatore Sanfilippo on usesthis.com (2011)</a></li>
<li><a href="http://aaron.boodman.usesthis.com/">Aaron Boodman on usesthis.com (2011)</a></li>
</ul>
<h4 id="contents">Contents</h4>
<table>
<tr>
<td>
<ul>
<li><a href="#operating-system">Operating System</a>: Ubuntu</li>
<li><a href="#window-manager">Window Manager</a>: Qtile</li>
<li><a href="#editor">Editor</a>: Emacs</li>
<li><a href="#terminal">Terminal</a>: urxvt + screen</li>
<li><a href="#vcs">Version Control System</a>: Git</li>
<li><a href="#high-high-level-language">"High-high-level" Language</a>: Python</li>
<li><a href="#web-framework">Web Framework</a>: Django/Flask</li>
</ul>
</td>
<td>
<ul>
<li><a href="#web-browser">Web Browser</a>: Firefox</li>
<li><a href="#email">Email</a>: Gmail</li>
<li><a href="#graphical-diff">Graphical Diff</a>: KDiff3</li>
<li><a href="#keyboard">Keyboard</a>: Leopold Tenkeyless (MX Browns)</li>
<li><a href="#office-chair">Office Chair</a>: Undecided</li>
<li><a href="#mobile-phone">Mobile Phone</a>: Motorola Droid 4</li>
</ul>
</td>
</tr>
</table>
<h4 id="my-list">My software tools list</h4>
<table style="font-size:100%">
<tr>
<td ><b>Category</b></td>
<td ><b>Currently using</b></td>
<td ><b>Comments</b></td>
</tr>
<tr>
<td id="operating-system" ><p>Operating System</p>
<a href="#operating-system" title="Section permalink" class="sectionlink">¶</a></td>
<td ><p><a href="http://www.ubuntu.com">Ubuntu</a> 14.04 Trusty Tahr</p>
</td>
<td >
<p>My first
Ubuntu install was in 2007 (dual-boot) and I got my first Windows-free machine
in 2008. I have used Cygwin
and coLinux when on Windows. Cygwin integrates better with Windows applications,
but coLinux is super fast and allows you to run a full Linux distro on top of
Windows. Windows does have some advantages, but overall I prefer Linux.</p>
<p><em>Update 2008-09</em>: Switching jobs means I can now use Linux at work.
I'm now using Linux about 90% of the time. My wife still uses Windows Vista on our laptop.</p>
<p>I don't have enough experience
with OSX to draw any authoritative conclusions, though I think
<a href="http://en.wikipedia.org/wiki/Mark_Pilgrim">Mark Pilgrim</a>
has <a href="http://diveintomark.org/archives/2006/06/02/when-the-bough-breaks">
biased me against Apple</a>. Also, I think Linux's
<a href="http://c2.com/cgi/wiki?FreeAsInBeer">free as in beer</a> (and somewhat
related free as in speech) characteristics
vs. Mac's expensive (and somewhat related proprietary) characteristics
resonate with the cheap engineer in me.</p>
<p>Additional Linux vs. Mac commentary:</p>
<ul>
<li>
<a href="http://en.wikipedia.org/wiki/Jamie_Zawinski">JWZ</a> 2000:
<a href="http://www.jwz.org/doc/linux.html">Unix/linux sucks less, but it still sucks.</a>
</li>
<li>
JWZ <a href="http://jwz.livejournal.com/494040.html">2005</a>,
<a href="http://jwz.livejournal.com/780264.html">2007</a>: Linux sucks more.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/Paul_Graham">Paul Graham</a> 2005:
<a href="http://www.paulgraham.com/mac.html">Return of the Mac.</a>
</li>
<li>
Mark Pilgrim 2006: <a href="http://diveintomark.org/archives/2006/05/30/bye-apple">
Bye, Apple</a>
</li>
<li>
<a href="http://en.wikipedia.org/wiki/Cory_Doctorow">Cory Doctorow</a> 2006:
<a href="http://www.boingboing.net/2006/06/29/mark-pilgrims-list-o.html">
Me too</a>.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/Tim_Bray">Tim Bray</a> 2006:
<a href="http://www.tbray.org/ongoing/When/200x/2006/06/15/Switch-From-Mac">Me too</a>,
<a href="http://www.tbray.org/ongoing/When/200x/2006/08/16/Back-to-the-Mac">Back to the Mac</a>
</li>
<li>
Steve Yegge 2008:
<a href="http://steve-yegge.blogspot.com/2008/04/settling-osx-focus-follows-mouse-debate.html">
Switching to OSX for the fonts</a>
</li>
<li>
Of course, <a href="http://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a>
<a href="http://www.smh.com.au/news/technology/q-and-a-with-linus-torvalds/2008/02/05/1202090403120.html?page=2">
"prefers" Linux</a> (2008)
</li>
<li><a href="http://en.wikipedia.org/wiki/Donald_Knuth">Donald Knuth</a>,
author of <em>The Art of Computer Programming</em>,
<a href="http://www.informit.com/articles/printerfriendly.aspx?p=1193856">
uses Ubuntu Linux for work, and Macs for play</a> (2008).
</li>
<li>Salvatore Sanfilippo (author of <a href="http://code.google.com/p/redis/">Redis</a>)
chooses to use
a Mac so he can <em>"focus on what <he's> doing without spending hours trying to
fix unrelated desktop stuff"</em> but says Linux is
<a href="http://antirez.com/post/linux-better-for-coding.html">
<em>"still better for coding"</em></a> (2009).
</li>
<li>Ted Dziuba: <a href="http://harmful.cat-v.org/software/operating-systems/osx/osx-unsuitable-web-development">
<em>MacOS X is an Unsuitable Platform for Web Development</em>
</a> (2011)</li>
<li>Bozhidar Batsov: <a href="http://batsov.com/Linux/Windows/Rant/2011/06/11/linux-desktop-experience-killing-linux-on-the-desktop.html">
<em>The Linux desktop experience is killing Linux on the desktop</em>
</a> (2011)</li>
</ul>
<p>History: 1987: <a href="http://en.wikipedia.org/wiki/Apple_IIGS">Apple GS/OS</a>,
1994: <a href="http://en.wikipedia.org/wiki/Windows_3.1x">Windows 3.1</a>,
2000: <a href="http://en.wikipedia.org/wiki/Windows_98">Windows 98</a>,
2001: <a href="http://en.wikipedia.org/wiki/Windows_XP">Windows XP</a>,
2007: <a href="http://en.wikipedia.org/wiki/Windows_Vista">Windows Vista</a>,
2007: <a href="http://en.wikipedia.org/wiki/Ubuntu_%28operating_system%29">Ubuntu</a>
</p>
</td>
</tr>
<tr>
<td id="window-manager"><p>Window Manager</p>
<a href="#window-manager" title="Section permalink" class="sectionlink">¶</a></td>
<td ><p><a href="http://www.qtile.org/">Qtile</a></p></td>
<td >
<p>The WM written in Python,
<a href="http://panela.blog-city.com/fun_of_tiling_window_managers.htm">
recommended by Matt Harrison</a>.
</p>
<p>Previously, wmii: dynamic, tiling, scriptable window manager that doesn't
require a mouse. It sucks less.</p>
<p>I switched from <a href="http://www.nongnu.org/ratpoison/">ratpoison</a>
at the same time I started using coLinux because running native Linux
allowed me to use any Linux window manager as well.</p>
<p>Recently, some have switched from wmii to
<a href="http://xmonad.org/">xmonad</a>, the new
<a href="http://www.haskell.org/">Haskell</a> tiling window manager.
It has some nice features over wmii, including dual head support, but after
a brief excursion, I slightly prefer wmii's way of doing things.</p>
<p>If you're a hard core Lisper,
<a href="http://www.nongnu.org/stumpwm/">stumpwm</a> is the window manager
for you. It has a <a href="http://en.wikipedia.org/wiki/REPL">REPL</a>. This one
seems a little too hard core for me, especially since I don't know Lisp.</p>
<p>History: 2007: ratpoison, 2007: wmii, 2012: Qtile</p>
</td>
</tr>
<tr>
<td id="editor"><p>Editor/IDE</p>
<a href="#editor" title="Section permalink" class="sectionlink">¶</a></td>
<td><p><a href="http://www.gnu.org/software/emacs">GNU Emacs</a> 24.3</p></td>
<td >
<p>Switched from Eclipse in 2007. It was a slow transition, but
I think Emacs is worth the investment.</p>
<p><b>On Emacs vs. Vim:</b> I really like that Vim can be used easily on remote
machines. Currently, I use TRAMP for remote file editing. It is very cool,
but it is slow, and I sometimes fall back on nano (*gasp*) for a quick
config file edit when I am logged into a remote terminal. I also suspect
that the dual modes of Vim are more efficient than Emacs-- I'm just not
smart enough to get used to it. Maybe someday I will switch to
<a href="http://www.gnu.org/software/emacs/manual/html_node/viper/index.html#Top">Viper
mode</a>. Why Emacs over Vim? I choose Emacs because it is more powerful
and closer to an IDE. Emacs Lisp allows you to do whatever you want.
</p>
<p><b>On Emacs vs. Eclipse:</b> I found Eclipse was too slow and heavy, used too
much screen real estate, and was too difficult to customize. Scripting
Eclipse required writing extensions in Java whereas Emacs can be extended
in elegant Lisp. I think Eclipse (and other IDE's) are better for code
exploration and they probably have features that I'm not aware of since
I don't use them. I figure, though, that with enough Emacs Lisp, Emacs
can do anything those IDEs can do. If you really want those features,
it's a question of if you want to spend the time achieving perfection
in Emacs or getting real work done in another IDE. I choose perfection. ;)
</p>
<p>Additional commentary:</p>
<ul>
<li><a href="http://blog.ianbicking.org/the-vs-emacs.html">
THE vs. Emacs</a>, Ian Bicking (2005)</li>
<li><a href="http://steve.yegge.googlepages.com/effective-emacs">
Effective Emacs</a>, Steve Yegge (2005)</li>
<li><a href="http://blog.ianbicking.org/other-editors.html">
Other Editors?</a>, Ian Bicking (2005)</li>
<li><a href="http://glyph.twistedmatrix.com/2008/04/structured-python-editor.html">
Structured Python Editor</a>, Glyph Lefkowitz (2008)</li>
<li><a href="http://chalain.livejournal.com/74234.html">
Editor Wars: Revenge of the... oh, whatever.</a>, Chalain (2008)</li>
<li><a href="http://metajack.im/2008/09/05/what-you-can-learn-from-emacs/">
What You Can Learn From Emacs</a>, Jack Moffitt (2008)</li>
<li><a href="http://glyph.twistedmatrix.com/2008/12/emacs-test.html">
The Emacs Test</a>, Glyph Lefkowitz (2008)</li>
<li><a href="http://www.redreddesign.com/blog/emacs-extensions-i-cant-live-without/">
emacs extensions i can’t live without</a> (2009)</li>
</ul>
<p>Screencasts:</p>
<ul>
<li><a href="http://platypope.org/yada/emacs-demo/">I need a cool European accent</a></li>
<li><a href="http://www.vimeo.com/1013263">What You Can Learn From ido.el</a></li>
<li><a href="http://www.youtube.com/watch?v=76Ygeg9miao#t=01m47s">YASnippet demo</a></li>
</ul>
<p>Install method:
<del><a href="http://www.saltycrane.com/blog/2008/10/installing-emacs-23-cvs-ubuntu-hardy/">
from source</a></del>
<code>sudo apt-get install emacs</code>
</p>
<p>Useful packages:</p>
<ul>
<li><a href="http://www.gnu.org/software/tramp/">
Tramp</a>: transparent remote file access</li>
<li><a href="http://www.emacswiki.org/emacs/InteractivelyDoThings">
ido</a>: Buffer switching and more</li>
<li><a href="http://orgmode.org/">Org-Mode</a>: note taking, task lists</li>
<li><a href="http://github.com/yoshiki/yaml-mode">yaml-mode</a>: for yaml</li>
<li><a href="http://jblevins.org/projects/markdown-mode/">markdown-mode</a>: for markdown</li>
<li><a href="http://code.google.com/p/yasnippet/">YASnippet</a>:
Textmate-inspired templating. Great for making HTML less tedious.</li>
<li><a href="https://github.com/nonsequitur/smex">smex: IDO for M-x</a></li>
<li><a href="https://github.com/magnars/multiple-cursors.el">multiple-cursors</a>: this is really fun *and* useful.</li>
<li><a href="http://web-mode.org/">web-mode</a>: for HTML/CSS/Javascript</li>
</ul>
<p>My emacs config on github: <a href="http://github.com/saltycrane/emacs">http://github.com/saltycrane/emacs</a></p>
<p>History: 2001: Emacs/NEdit/UltraEdit, 2006: Eclipse, 2007: Emacs</p>
</td>
</tr>
<tr>
<td id="terminal"><p>Terminal</p>
<a href="#terminal" title="Section permalink" class="sectionlink">¶</a></td>
<td><p><a href="http://software.schmorp.de/pkg/rxvt-unicode.html">urxvt</a></p>
9.19
+ <br><a href="http://www.gnu.org/software/screen/">screen</a></td>
<td>
<p>urxvt supports xft (anti-aliased) fonts, real transparency (not that
I actually use transparency with Qtile), and fading (which I do use with Qtile)
and it is much faster and lighter than gnome-terminal or konsole. screen allows me to switch
terminal sessions without ugly tabs, attach to remote sessions, search through
the scrollback buffer, and more. <em>Update:</em> urxvt also has embedded perl.</p>
<p>Install method:
<del><a href="/blog/2009/11/how-make-urxvt-look-gnome-terminal/">from source</a></del>
<code>sudo apt-get install rxvt-unicode</code>
</p>
</td>
</tr>
<tr>
<td id="vcs"><p>Version Control System</p>
<a href="#vcs" title="Section permalink" class="sectionlink">¶</a></td>
<td>
<p><a href="http://git-scm.com/">Git</a></p>
</td>
<td>
<p>Switched from Subversion to Mercurial in June 2007. The merging in Mercurial
is very nice and can be done without thinking. I do miss Subversion/Subclipse's
revision history viewer, file compare, and ability to isolate files apart from
changesets. <em>Update 2010-04-05:</em> See <a href="#c8633">my comment
below</a>.
</p>
<p><em>Update 2011-05:</em> Switched my personal repos to Git. Use Git almost
exclusively now.
</p>
<p>Additional commentary:</p>
<ul>
<li><a href="http://jonchu.posterous.com/16445171">
DVCS: Why I chose Mercurial over Git</a> (2010)</li>
<li><a href="http://blog.extracheese.org/2010/05/why-i-switched-to-git-from-mercurial.html">
Why I Switched to Git From Mercurial</a> (2010)</li>
</ul>
<p>Install method: <code>sudo apt-get install mercurial</code></p>
<p>History: 2001: SCCS, 2003: Other, 2007: Subversion, 2007: Mercurial,
2010: Mercurial/Git, 2011: Git</p>
</td>
</tr>
<tr>
<td id="high-level-language"><p>"High-level" Language</p>
<a href="#high-level-language" title="Section permalink" class="sectionlink">¶</a></td>
<td><p>None</p></td>
<td>
<p>Previously, I used C. Now I use don't use any statically-typed languague. Wouldn't mind learning <del>C++</del> Go. Although,
Linus <a href="http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918">
doesn't like it.</a></p>
</td>
</tr>
<tr>
<td id="high-high-level-language" ><p>"High-high-level" Language</p>
<a href="#high-high-level-language" title="Section permalink" class="sectionlink">¶</a></td>
<td ><p><a href="http://www.python.org/">Python</a> 2.7</p></td>
<td >
<p>My love for Python is strong. I switched from Perl in 2005
and have no regrets. Object-oriented, easy to read (no more
<a href="http://en.wikipedia.org/wiki/There_is_more_than_one_way_to_do_it">
TIMTOWTDI</a>), and smart people use it. I also want to learn Javascript 2
becuase it is the
<a href="http://steve-yegge.blogspot.com/2007/02/next-big-language.html">
"Next Big Language"</a> and Lisp because it is the
<a href="http://www.paulgraham.com/avg.html">"most powerful language"</a>.</p>
<p><b>On Python vs. Ruby:</b> from what I've read, I characterize Ruby as the
more expressive language more similar to Perl (than Python is) and Python
as the more regimented language. Since I like regimented, I like Python.</p>
<p><b>On Python vs. Lisp:</b> I've concluded that I lack the intelligence to
harness enough of Lisp's power to counteract its non-practicality (e.g.
lack of libraries).</p>
<p>Additional commentary:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Paul_Graham">Paul Graham</a>:
<a href="http://www.paulgraham.com/icad.html">Python is
getting closer to Lisp</a> (2002)</li>
<li>Paul Prescod: <a href="http://www.prescod.net/python/IsPythonLisp.html">
no it isn't</a></li>
<li>Paraphrase of <a href="http://www.swiss.ai.mit.edu/~gjs/">
Gerald Jay Sussman</a> (one of the creators of Scheme):
<a href="http://blog.snowtide.com/2009/03/24/why-mit-now-uses-python-instead-of-scheme-for-its-undergraduate-cs-program">
Why MIT now uses python instead of scheme for its undergraduate CS program</a>
(2009)</li>
</ul>
<p>Install method: preinstalled on Ubuntu</p>
<p>History: 2001: <a href="http://www.perl.org/">Perl</a>,
2005: <a href="http://www.python.org/">Python</a>
</p>
</td>
</tr>
<tr>
<td id="web-framework" ><p>Web Framework</p>
<a href="#web-framework" title="Section permalink" class="sectionlink">¶</a></td>
<td >
<p>
<a href="http://www.djangoproject.com/">Django</a> /
<a href="http://flask.pocoo.org/">Flask</a>
</p>
</td>
<td >
<p><em>2014-10:</em>I now use Flask at work. Previously, I used Django. I think I like SQLAlchemy and Jinja2 better than Django. Django has a lot more built in and is put together better. Flask's thread locals are convenient and messy. Probably <a href="http://www.pylonsproject.org/">Pyramid</a> is the best but no one uses it.</p>
<p>Here are some links:</p>
<ul>
<li><a href="http://www.ianbicking.org/">Ian Bicking</a>:
<a href="http://blog.ianbicking.org/theres-so-much-more-than-rails.html">
There's so much more than Rails</a> (2005)</li>
<li><a href="http://blog.ianbicking.org/2008/01/12/what-php-deployment-gets-right/">
What PHP deployment gets right</a> (2008)</li>
<li><a href="http://www.feedmagnet.com/blog/django-vs-rails/">
Django vs. Rails</a> (2009)</li>
</ul>
<p>Install method: <code>pip install Django</code> / <code>pip install Flask</code></p>
</td>
</tr>
<tr>
<td id="web-browser"><p>Web Browser</p>
<a href="#web-browser" title="Section permalink" class="sectionlink">¶</a></td>
<td><p>Firefox</p></td>
<td >
<p>Not to be confused with <a href="http://www.konqueror.org">
Konqueror</a>, Conkeror is an emacs-like, keyboard driven, scriptable,
Mozilla-based web browser. I've used it almost full
time since January 2008. It is still considered alpha stage software
so there are a number of bugs. However, it is still pretty sweet. I use
Firefox as a backup (and IE Tab for Launchcast and Netflix on Windows).</p>
<p>Unfortunately, one of the annoying things in Firefox 2 is present in
Conkeror as well-- memory leaks. Based on
<a href="http://kb.mozillazine.org/Memory_Leak">this Mozilla article</a>
and some brief personal experience, Firefox 3 has made fixes in this area.
It would be nice if Conkeror could benefit from the Firefox 3 fixes.</p>
<p><em>Update 2010-05-04:</em> Conkeror is really awesome, but I had some memory/cpu issues with it
a while ago and haven't put in the work to merge my custom keybindings
with the latest Conkeror code. Also waiting to see if there will be
an Emacs version of <a href="http://vimium.github.com/">Vimium</a>
(since, after all <a href="http://vimperator.org/">vimperator</a>
followed conkeror).
</p>
<p>I'm currently using a combination of Google Chrome and Firefox.
Chrome is faster, especially for Javascript-intensive sites, but I really
<a href="http://superuser.com/questions/91334/alternative-to-arrow-keys-in-google-chrome-location-bar">
<em>hate</em> the Google Chrome Omnibar</a>. If you have a solution
or workaround, please post an answer. Firefox also has some Add-ons
that Chrome doesn't.
</td>
</tr>
<tr>
<td id="email" ><p>Email</p>
<a href="#email" title="Section permalink" class="sectionlink">¶</a></td>
<td ><p>Gmail</p></td>
<td >
<p><em>Update 2010-05-04:</em>
Gmail. It's slow but it has a lot of features and it's in
my web browser and it's easy and it works and I don't really like using
email that much anyways. Oh, and, big plus, syncing works almost perfect
with my Android phone. (Actual full switch to Gmail was around December 2008.)
</p>
</td>
</tr>
<tr>
<td id="graphical-diff" ><p>Graphical diff/merge</p>
<a href="#graphical-diff" title="Section permalink" class="sectionlink">¶</a></td>
<td ><p><a href="http://kdiff3.sourceforge.net/">KDiff3</a></p></td>
<td >
<p>I started using KDiff a while ago on Windows and have
always liked it. I'm thinking, though, since I'm an Emacs person, I ought to
use <a href="http://www.gnu.org/software/emacs/manual/html_mono/ediff.html">
Ediff</a>.</p>
<p>Install method: <code>sudo apt-get install kdiff3</code></p>
</td>
</tr>
<tr>
<td id="keyboard"><p>Keyboard</p>
<a href="#keyboard" title="Section permalink" class="sectionlink">¶</a></td>
<td>
<p><a href="http://pckeyboards.stores.yahoo.net//en104wh.html">
Unicomp Endurapro</a> /
<a href="http://elitekeyboards.com/products.php?sub=leopold,tenkeyless&pid=fc200rtab">
Leopold Tenkeyless w/ Cherry MX Browns
</a></p>
</td>
<td>
<p>I realize a keyboard is hardware and not software, but it is
hardware that can evoke strong opinions, so I made an exception.
</p>
<p>One problem with hardware is I can't try out all the different types
and choose the one I like the best as I can with software. So
my selection is based on reviews not on actual experience. And,
after buying the Endurapro, I found I actually did not like the
integrated mouse stick, so I should have bought a Customizer 104/105
and saved $30.</p>
<p><em>Update 2011-05:</em> Got the Leopold tenkeyless for work.
Tenkeyless is a must for quicker mouse access.
And I actually like the lighter touch of the
Cherry MX Browns versus the Unicomp's buckling springs. I like it
so much I want to replace my Unicomp at home with another Leopold.
</p>
<p><em>Update:</em> Got a second Leopold for home to replace my Unicomp.</p>
<p>Additional commentary:</p>
<ul>
<li><a href="http://www.jwz.org/gruntle/wrists.html">
my wrists and welcome to them.</a>, JWZ (1999)</li>
<li><a href="http://www.dansdata.com/deck.htm">
Deck keyboard</a>, Dan (2005)</li>
<li><a href="http://bc.tech.coop/blog/060131.html">
Surviving Emacs - Part 4</a>, Bill Clementson (2006)</li>
<li><a href="http://glyf.livejournal.com/55780.html">
Keyboard Fight</a>, Glyph Lefkowitz (2006)</li>
<li><a href="http://diveintomark.org/archives/2006/05/30/bye-apple">
Bye, Apple</a>, Mark Pilgrim (2006)</li>
<li><a href="http://glyph.twistedmatrix.com/2009/01/meandering-review-of-logitech.html">
A Meandering Review of the Logitech Illuminated Keyboard</a>,
Glyph Lefkowitz (2009)</li>
</ul>
<p>History: 2009: Unicomp Endurapro, 2011: Leopold Tenkeyless (MX Browns)</p>
</td>
</tr>
<tr>
<td id="office-chair"><p>Office Chair</p>
<a href="#office-chair" title="Section permalink" class="sectionlink">¶</a></td>
<td><p>Undecided</p></td>
<td><p>Herman Miller Aeron or Steelcase Leap</p>
</td>
</tr>
<tr>
<td id="mobile-phone"><p>Mobile Phone</p>
<a href="#mobile-phone" title="Section permalink" class="sectionlink">¶</a></td>
<td><p><a href="http://www.motorola.com/Consumers/US-EN/Consumer-Product-and-Services/Mobile-Phones/Motorola-DROID-US-EN">Motorola Droid 4</a></p></td>
<td>
<p>After almost 10 years (and 3 generations) of the Palm Treo, I got the
Motorola Droid.</p>
<p>The Droid is pretty awesome, but I don't like switching
to landscape mode to use the keyboard-- especially when toolbars and headers
take up half the screen. I think Palm and Blackberry got this form factor Right.
Just as I prefer the keyboard over the mouse on my PC, I want to use the keyboard
and D-pad over the touchscreen on my phone.
<em>Update 2010-05-04:</em> The keyboard is mediocre and use of the D-pad
center button sucks. My Palm Treo 650 D-pad worked much better.
</p>
<p>My reasons for choosing an
<a href="http://en.wikipedia.org/wiki/Android_%28operating_system%29">Android</a>
phone are: I <em>need</em> a physical keyboard.
I <em>want</em> to hack on my phone. I <em>think</em> Android has more potential than Palm's
<a href="http://en.wikipedia.org/wiki/WebOS">webOS</a>
or <a href="http://en.wikipedia.org/wiki/Maemo">Maemo</a>.</p>
<p>Useful apps:</p>
<ul>
<li><a href="http://code.google.com/p/connectbot/">Connectbot</a>
Secure shell (SSH) client for the Android platform. Use this all the time. Awesome.</li>
<li><a href="http://www.android.com/market/#app=listen">Listen</a>
Listen from Google Labs brings podcast search, subscribe, download and stream to your Android-powered device.</li>
<li><a href="http://mytracks.appspot.com/">My Tracks</a>
Record GPS tracks. Monitor your performance. Share your outdoor activities with friends.
Really enjoy this one. Love tracking my romping.
</li>
</ul>
<p><em>2010-05-04 Updates:</em></p>
<ul>
<li><a href="http://www.google.com/mobile/voice/">Google Voice</a>: Free text messages
and better voicemail. Another useful app. Makes voicemail suck a lot less.</li>
<li><a href="http://levelupstudio.com/foxyring">FoxyRing</a>: automatically
control the ringer volume based on ambient noise level. I was doubtful about this one,
but it actually works well for me.</li>
<li><a href="http://www.flixster.com/mobile/apps/android">Flixter (Movies)</a>:
Useful for checking movie showtimes.
</li>
<li><a href="http://www.youversion.com/mobile/android">Bible (YouVersion)</a>:
This version is pretty good. I miss my <a href="http://www.plkr.org/">Plucker</a>
created Bible on my Palm though. I wish there was something like Plucker for
Android.
</li>
<li>DroidLight: use the LED camera flash as a flashlight. Simple and useful.
Works much better than using the screen as a flashlight.
</li>
<li><a href="http://www.google.com/mobile/navigation/">Google Navigation</a>: I
don't need my Garmin anymore. (Each has advantages and disadvantages, but I
have found it to be a capable replacement.)</li>
<li>Just want to mention that the Calendar sucks. It is great that I can sync
with my Google calendar, but I really hate the Android Calendar UI.</li>
</ul>
<p>Additional Commentary/Links:</p>
<ul>
<li><a href="http://randomfoo.net/2009/06/15/thoughts-on-the-palm-pre-g2-and-iphone-3g">
Thoughts on the Palm Pre, G2, and iPhone 3G</a> Leonard Lin (2009 June)</li>
<li><a href="http://jwz.livejournal.com/1055120.html">
JWZ gets a Palm Pre</a> (2009 June)</li>
<li><a href="http://jwz.livejournal.com/1055369.html">
Emacs on Android</a> (2009 June)</li>
<li><a href="http://daringfireball.net/2009/08/the_android_opportunity">
The Android Opportunity</a>, John Gruber (2009 August)</li>
<li><a href="http://jwz.livejournal.com/1108212.html">
Dear Palm, it's just not working out</a>, JWZ (2009 October)</li>
</ul>
<p>History: 2002: <a href="http://en.wikipedia.org/wiki/Treo_180">Handspring Treo 180</a>,
2003: <a href="http://en.wikipedia.org/wiki/Treo_600">Handspring Treo 600</a>,
2005: <a href="http://en.wikipedia.org/wiki/Treo_650">Palm Treo 650</a>,
2009: <a href="http://en.wikipedia.org/wiki/Motorola_Droid">Motorola Droid</a>
2011: <a href="http://en.wikipedia.org/wiki/Droid_4">Motorola Droid 4</a>
</p>
</td>
</tr>
</table>
How to reload your .emacs file while emacs is running
2007-07-27T17:22:00-07:00https://www.saltycrane.com/blog/2007/07/how-to-reload-your-emacs-file-while/
<ul> <li><span class="381571800-28072007"><font face="Courier New" size="2">M-x load-file</font></span> ENTER</li> <li><span class="381571800-28072007"><font face="Arial" color="#000080" size="2"><font face="Courier New" color="#000000">~/.emacs</font></font></span></li> <li><span class="381571800-28072007"><font face="Arial" color="#000080" size="2">ENTER</font></span></li></ul>
How to run an emacs lisp program in the *scratch* buffer
2007-07-26T12:25:00-07:00https://www.saltycrane.com/blog/2007/07/how-to-run-emacs-lisp-program-in/
<ul> <li><font face="Arial" color="#000080" size="2"><span class="953515418-26072007">start emacs </span></font></li> <li><font face="Arial" color="#000080"><span class="953515418-26072007"><font size="2">in the scratch buffer, type: <font face="Courier New" color="#000000"><strong>(+ 2 2)</strong></font></font></span></font></li> <li><font face="Arial" color="#000080" size="2"><span class="953515418-26072007">press <font face="Courier New" color="#000000"><strong>CTRL-X CTRL-E</strong></font></span></font></li> <li><font face="Arial" color="#000080" size="2"><span class="953515418-26072007">you should get <font face="Courier New" color="#000000">4</font> in the echo area at the bottom of the screen</span></font></li></ul> <div><font face="Arial" color="#000080" size="2"><span class="953515418-26072007">See also the <a href="http://www.gnu.org/software/emacs/emacs-lisp-intro/html_mono/emacs-lisp-intro.html#Run%20a%20Program">Run a Program</a> section in <a href="http://www.gnu.org/software/emacs/emacs-lisp-intro/html_mono/emacs-lisp-intro.html">An Introduction to Emacs Lisp Programming</a></span></font></div>
.emacs
2007-07-25T17:55:00-07:00https://www.saltycrane.com/blog/2007/07/emacs/
<pre>(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(c-basic-offset 3)
'(column-number-mode t)
'(cua-mode t nil (cua-base))
'(scroll-bar-mode nil)
'(tool-bar-mode nil)
'(transient-mark-mode t))
;;================================================
;; server mode
(server-start)
;; custimizations
(setq inhibit-startup-message t)
(setq default-truncate-lines t)
(setq default-tab-width 4)
(setq dabbrev-case-replace nil) ; make sure case is preserved when expanding
;; from http://geosoft.no/development/emacs.html
(setq search-highlight t) ; Highlight search object
(setq query-replace-highlight t) ; Highlight query object
(setq mouse-sel-retain-highlight t) ; Keep mouse high-lightening
;;================================================
;; Behaviour
;; from http://www.postulate.org/emacs.php
;; don't automatically add new lines when scrolling down at
;; the bottom of a buffer
(setq next-line-add-newlines nil)
;; scroll just one line when hitting the bottom of the window
(setq scroll-step 1)
(setq scroll-conservatively 1)
;; move around a little
(defun cursor-up-slightly () (interactive) (previous-line 7))
(defun cursor-down-slightly () (interactive) (next-line 7))
(global-set-key [C-down] 'cursor-down-slightly)
(global-set-key [C-up] 'cursor-up-slightly)
(defun scroll-up-slightly () (interactive) (scroll-up 7))
(defun scroll-down-slightly () (interactive) (scroll-down 7))
(global-set-key [M-down] 'scroll-down-slightly)
(global-set-key [M-up] 'scroll-up-slightly)
(defun scroll-right-slightly () (interactive) (scroll-right 5))
(defun scroll-left-slightly () (interactive) (scroll-left 5))
(global-set-key [M-right] 'scroll-right-slightly)
(global-set-key [M-left] 'scroll-left-slightly)
;; do scroll horizontally when at edge of screen
(setq auto-hscroll-mode t)
(setq hscroll-margin 0)
;;================================================
;; key bindings
(global-set-key "\C-f" 'isearch-forward)
(global-set-key "\C-s" 'save-buffer)
(global-set-key "\C-w" 'kill-this-buffer)
(global-set-key [C-prior] 'previous-buffer) ; that's CTRL+PGUP
(global-set-key [C-next] 'next-buffer) ; that's CTRL+PGDOWN
(global-set-key "\M- " 'dabbrev-expand)
;;================================================
;; cc mode
(setq c-default-style '((c-mode . "bsd")))
;;================================================
;; setup frame position and size
(setq initial-frame-alist
'((top . 0) (left . 600)
(width . 80) (height . 60)))
(setq default-frame-alist
'((top . 0) (left . 0)
(width . 80) (height. 40)
)
)</pre>
7 Eclipse Killer Features; 5 Eclipse Annoyances
2007-07-24T12:39:00-07:00https://www.saltycrane.com/blog/2007/07/7-eclipse-killer-features-5-eclipse/
Here are my pros and cons after using Eclipse for about a year. I've been using mostly 3.2 and recently updated to version 3.3. For the most part it is great. There are some annoyances that hopefully can be fixed. Maybe I need to learn Java and start working on the code. I've also thought about switching to Emacs. I used Emacs for a short time on a Solaris box and liked it a lot. I can't seem to make the switch now, though, because a.) it's not pretty enough, and b.) I don't want to take the time to learn it again.
<br />
<h4>Eclipse Killer Features:</h4>
<ul>
<li>Search across entire workspace for selected text with CTRL+ALT+G. It's the fastest interface I've used for selected text, it organizes the search results, highlights all items, and shows pretty markers in the margin. (see below.)</li>
<li>Pretty markers to show search items, compile errors/warnings, modified text, bookmarks, etc.</li>
<li>Code completion with CTRL+SPACE. It is pretty.</li>
<li>Automatic variable renaming with ALT+SHIFT+R. It's faster and more reliable than search and replace.</li>
<li>Good keyboard support. "Quick Access" is a very nice addition in Eclipse 3.3. Hit CTRL+3 and then type the name of any Eclipse command. (See <a href="http://eclipsenuggets.blogspot.com/2007/05/quick-access-ctrl3-is-bliss-are-you-one.html">Quick Access (Ctrl+3) is bliss!</a> for more info.) To open a file, hit CTRL+SHIFT+R and type in the name of the file. The dialog provides filename completion. Fast. </li>
<li>Good integration with SVN using Subclipse: allows me to compare revisions, view the repository history, open an old revision next to my working copy, and take a glance at pretty file icons to tell me the state of files. (This no longer applies since I switched to Mercurial.)</li>
<li>Put views almost anywhere you want (docked, detached, fast view). Switch between editors with CTRL+F6, switch between views with CTRL+F7, and switch between perspectives with CTRL+F7.</li>
</ul>
<h4>Eclipse Annoyances:</h4>
<ul>
<li>Can't open a file from the command line.</li>
<li>It is slow. In <a href="http://steve-yegge.blogspot.com/2007/02/my-save-excursion.html">this article</a>, Stevey Yegge even wrote a Eclipse haiku about it:
<p><i>
startApplication()<br />
thenWaitFriggingForever()<br />
thenItGoesRealSlow()
</i></p>It's a great article, btw.
</li>
<li>All the extra decorations take up a lot of screen real estate. (Can't completely customize everything. E.g. can't get rid of the scroll bars.)</li>
<li>No macros. (This is what Emacs is all about.)</li>
<li>No (good) Mercurial plugin.</li>
</ul>
<br />
Eclipse vs. Emacs conclusion: Sticking with Eclipse for now because it is prettier (and because I know how to use it.)