Porting Central
Skip to main content

Porting Central

GNU Emacs Compatibility for EZ

The keybindings that are defined for EZ are already 90% compatible with the default keybindings in GNU Emacs. However, Emacs veterans will have noticed that many differences remain. This file describes how to load a set of keybindings that fixes 90% of those remaining differences.

Using the GNU Emacs Compatibility Changes

If you have no .ezinit or .atkinit file in your home directory:

Create a file called .ezinit in your home directory, containing the following two lines:

include /usr/andrew/lib/gnu.atkinit
include /usr/andrew/lib/global.ezinit

and a file called .atkinit, containing the following line:

include /usr/andrew/lib/gnu.atkinit

The .ezinit file loads the Emacs keybindings in EZ, and the .atkinit file loads them in other ATK applications (help, messages, typescript, etc.)

If you have created an .ezinit file already:

Add the line

include /usr/andrew/lib/gnu.atkinit

to your .ezinit file. It should be the first line of the file, so that your personal keybindings override the preset Emacs bindings.

You should also create an .atkinit file, containing the (same) one line

include /usr/andrew/lib/gnu.atkinit

If you have created an .atkinit file already, but have no .ezinit:

Add the line

include /usr/andrew/lib/gnu.atkinit

to your .atkinit file. It should be the first line of the file.

If you have both an .ezinit and an .atkinit file:

Add the line

include /usr/andrew/lib/gnu.atkinit

to the beginning of both your .atkinit and .ezinit. If your .ezinit includes .atkinit, of course, you need not include gnu.atkinit in both files.

Note: Make sure that there are no styles (italics, indentation, font changes, etc) in your .ezinit or .atkinit file. (When you edit either one, it is safest to highlight the entire file and select "Plainest" before you save it, just in case.)

See the initfiles help file for more information on these files.

There are also a number of preferences that make EZ's behavior more like Emacs. These can be found in the file

/usr/andrew/lib/gnu.prf

You can copy these into your ~/.preferences file. See Preferences and System Defaults for descriptions of what they do.

List of Keybindings

These are the keybindings which are defined by /usr/andrew/lib/gnu.ezinit:

^K Kill line (Emacs-style)

Esc-d Delete next word

Esc-Del Delete previous word

^X] Jump to beginning of next page

^X[ Jump to beginning of previous page

Tab Complete filename or other input in message line

^Q Quote (accept next character literally)

^S Search forwards (Emacs-style)

^R Search backwards (Emacs-style)

Esc-^S Incremental search backwards

Esc-^R Incremental search forwards

Esc-% Query-replace

Esc-q Fill paragraph (remove newlines)

Esc-c Capitalize word

Esc-u Upper-case word

^] Exit recursive edit mode

Esc-^C Exit recursive edit mode

^Xs Save all files

^X^F Visit new file (new buffer, same window)

^Xi Insert file

^Xo Jump to next window

^X0 Hide (iconify) this window

^X1 Hide (iconify) all other windows

^X^Q Toggle read-only flag

Esc-$ Start spelling checker

Esc-~ Clear buffer-modified flag

Esc-^P Plainest (remove all styles)

Esc-^X Expose styles

Esc-^E Bring up lookz (Edit Styles) window

Esc-x Call any function by name

Esc-m Call any function by name, with an argument

^C^C Send message (in Messages)

Esc-? Bring up a buffer listing all keybindings

Further Differences

Even with these keybindings loaded, a few incompatibilities remain. These are the known differences. Some of them will be fixed in the future; others represent fundamental disagreements between Emacs and ATK, and will be fixed only if someone gets excessively bored.

For a list of these differences, see GNU Emacs Keybindings vs EZ .

Credits

The Emacs compatibility bindings (and much of the relevant code) were developed by Bill Cattey and Chad Brown at MIT.

They were nailed into the official ATK distribution by Andrew Plotkin (ap1i+@andrew.cmu.edu).

Related Topics