Bookmarks and Registers
Bookmarks have arbitrary (long) names and remain
from one Emacs session to another. Registers have one-letter names and
disappear as soon as a session is ended.
A D V E R T I S E M E N T
A bookmark tells Emacs where to go
in a buffer, whereas a register stores data to insert into a buffer, such as
a filename, a window configuration, a piece of text or a rectangle. Yes, a
register can also store a location and thereby pretend it is a temporary
You would think the proper function of a bookmark is simply to mark your
place in a file so that whenever you revisit it, you will go to that
location; however, I don't need bookmarks for this. I usually leave off at
the location I want to return to, so that simply switching buffers via
command, menu or ctrl-mouse_button_1 takes me back to where I was.
Revisiting a file takes me there too, because I have place-saving
turned on. (Use toggle-save-place to turn it on for a specific file
and setq-default save-place t to turn it on globally for all files.
[Added in Emacs version 19.19.]) Therefore, I feel free to use bookmarks for
something less ordinary. ctrl-x r m bookmark_name
sets the bookmark; the bookmark name is a string of Japanese or Chinese
text, i.e., my glossary entry.
In Japanese, Emacs automatically sorts the kana bookmark names. (Kana are
the graphic forms used to write the Japanese syllabary.) When I click on a
bookmark, I am propelled directly to the work file where that word or phrase
resides in an actual job. Beginning with Emacs 19.29, bookmarks could carry
annotations. (Type ctrl-h m after meta-x list-bookmarks for
more information on annotations.) I have co-opted this feature to carry the
English glossary or meanings of the glossary entries (i.e., the bookmark
names). If the annotation is sufficient, I don't need to visit the glossary
entry in its location within a working file. If I want to see the context in
which I have translated the word, phrase or sentence, one click lets me take
a look, regardless of whether that file is currently being visited by an
Emacs buffer or not. I can display the location in the file in a buffer that
replaces my current bookmark editing buffer or have Emacs put it in a
separate window adjacent to the buffer holding the bookmark list. I can also
just ask Emacs to tell me the name of the file where the bookmark can be
found without actually displaying it.
The one drawback to this neat, but nonetheless makeshift device, is that
I can assign only one location to each glossary entry. If I want to add
more, I must put them in the annotation.
Help from Other Programs
Finally, for JE work, Emacs is not alone. As planets circle the sun, I
surround Emacs with several programs that help me figure out the Japanese or
Chinese source text or that aid in delivering it in a form demanded by a
client. My assistants include the following:
- Sumomo: a parser of Japanese
syntax (no mean feat in a script where there are no spaces between
- Kakasi: a converter of kanji
into kana or Romaji (see Figure 5)
Xjdic: Jim Breen's JE Dictionary which,
beside being extremely useful as a dictionary, is a splendid example of a
collaborative, Net-based project (see Figure 6)
Bookview: a front end to
ndtp, a server of Japanese electronic reference books (see Figure
Also available are many nifty GNU or GPL-licensed programs that
circumambulate the Linux kernel and can be called into service at a moment's
notice, such as ls, wc,
wget and fvwm2.
Finally, there is Mozilla, Star and Corel Office, ApplixWare, the American
Heritage Dictionary and the Oxford English Dictionary.
Whatever your arrangement, to be productive it must be consistent and
persistent, i.e., for a certain task (like CE or JE translation) you must be
able to recreate the same arrangement quickly. I have an init.hook file
configured so that these applications all start up when I start fvwm2. By
renaming it, I can immediately set up a different desktop for a different task.
(See Figure 8 for one possible layout of a translator's desktop.)
With Emacs 20.4, we have the first version of GNU Emacs that is equipped to
function as the main tool in a multi-script text worker's workshop.