external next up previous contents index
Next: Muddweller (Mac) Up: 1.4 SelectionInstallation and Previous: Tiny Fugue (Unix)

Emacs clients (Unix)


Emacs is a very powerful text editor that allows interfacing to many things including most programming languages, email, News, the WWW and MUDs. If you are unfamiliar with emacs try to talk to someone who uses it and see before you install it. Emacs extensions are written in emacs-lisp. When installing a Mud client you normally have to look at the README file in the distribution and reconfigure some of the *.el files.

The most popular emacs client seems to be mud.el. This client runs on GNU Emacs. Usable for TinyMUD-style muds, LPMUDs, and MOOs. Features include auto-login, macros, logging, cyberportals, screen mode, and it is programmable. Availability: at ftp://parcftp.xerox.com/pub/MOO/clients/ and at ftp://ftp.math.okstate.edu/pub/muds/clients/UnixClients/. See the Mud FAQ list for more emacs clients.

At Tecfa we use Ron Tapia's rmoo client. It is not mentioned in many places but gives best results under X with GNU Emacs.

The rmoo client


Distribution: (a maybe old version) from TECFA's FTP server. The original version seems to have disappeared from the Net.

When using this client the first thing to do in the MOO is: '@edito +l'. That will ship all editing to emacs. No documentation is available, so to get some help, type 'c-h M' in a RMOO window.

The RMOO client features menus for a few commands (in the original districtuion they only worked for GNU Emacs, i.e. NOT Xemacs). In our slightly modified version the most important commands work from the menu.


(Note that we did not test everything in detail, there is no good help)

Ease of Use:
Hard if you are unfamiliar with emacs, easy if you are (except for the lack of documentation)

Copy/Paste to other applications:

Multiple Connections:

Command Repetition:
Yes (M-p)

Local Editing:

Session Logs:
Yes (by definition emacs is a text editor after all)

Overall judgment:
Very nice client, but hard for people unfamiliar with emacs. Note that learning emacs is a good thing if you work under Unix. E.g. html and latex (this manual was written with) assistants are VERY good.

Available Commands

Here are the available commands in RMOO main mode (when just interacting normally with the MOO). The most important thing to do when you work with an emacs clients is to configure your MOO for local editing. On most MOOs, type:

  @edito +l

The most important commands you need to know are the following:

Input to the MOO:

RET             rmoo-send

Retrieving previous commands and navigation:

ESC n           rmoo-next-command
ESC p           rmoo-previous-command
C-a             rmoo-beginning-of-line

Pasting text:

C-c C-p         rmoo-@paste-kill
                (useful for pasting text in the emacs kill/copy buffer)
C-c C-y         rmoo-send-kill
                (useful for uploading code in the emacs kill/copy buffer)

Quick MOO Mail:

C-c RET         rmoo-mail

Here is the full set of emacs bindings, you can ignore most of them (some won't work anythow on TECFAMOO):

RMOO mode:
Major mode for talking to inferior MOO processes.

key             binding
---             -------

menu-bar        Prefix Command
mouse-1         jtext-select-link
ESC             Prefix Command
C-c             Prefix Command
TAB             dabbrev-expand
C-a             rmoo-beginning-of-line
RET             rmoo-send

ESC n           rmoo-next-command
ESC p           rmoo-previous-command

C-c C-p         rmoo-@paste-kill
C-c C-f         rmoo-extras-get-prop
C-c C-v         rmoo-extras-get-verb
C-c C-o         Prefix Command
C-c RET         rmoo-mail
C-c C-w         Prefix Command
C-c C-y         rmoo-send-kill
C-c C-q         rmoo-quit

C-c C-o C-d     rmoo-objects-delete-object-here
C-c C-o C-s     rmoo-objects-write-objects-file
C-c C-o C-o     rmoo-objects-download-object

C-c C-w C-s     rmoo-worlds-save-worlds-to-file
C-c C-w C-a     rmoo-worlds-add-new-moo

Below are the commands active when programming or editing: The most important command is ctrl-c ctrl-s which ships back a command to the MOO from an editing buffer. Note: be sure not to delete the ``MOO command lines'' that pop up when you you start an editing session. In the following example you edit the description of a room:

>@edit here.description
What you will get in the editing buffer is this:

@set-note-text #139.description
You see an modern office, quite standard in appearence.
You see a blackboard on which you can leave a note ('writeb ......').
'Out' will lead you back to the Atrium.

Don't delete the @set-note-text #139.description line NOR the last line (i,e, ``.'') and insert all editing in between! The exactly same rule applies if you edit a verb, e.g. if you type: @edit #xxx:my_verb

Major mode for mucking with MOO code.
key             binding
---             -------

menu-bar        Prefix Command
C-c             Prefix Command
TAB             rmoo-code-indent-line

C-c C-s         rmoo-upload-buffer-directly  <--- MOST IMPORTANT !
C-c s           rmoo-upload-buffer-directly
C-c ;           rmoo-code-check-semi-colons
C-c "           rmoo-code-insert-quoted-end
C-c C-a         rmoo-code-extras-map

C-c C-a u       rmoo-code-uncommentify
C-c C-a c       rmoo-code-commentify
C-c C-a s       rmoo-code-sin
C-c C-a r       rmoo-code-return
C-c C-a k       rmoo-code-fork
C-c C-a w       rmoo-code-while
C-c C-a f       rmoo-code-for
C-c C-a e       rmoo-code-else
C-c C-a i       rmoo-code-if

next up previous contents index external
Next: Muddweller (Mac) Up: 1.4 SelectionInstallation and Previous: Tiny Fugue (Unix)

Daniel K. Schneider
Thu Apr 17 12:43:52 MET DST 1997