An important thing is to work with a MOO client suited for development (see section 1.4). Unfourtunately, not many such clients do exist.
Also, it is useful to have a client that can ship code for editing to a local full-screen editor, preferably one that supports MOO coding. At TECFA itself (not all of our wizards) we use the rmoo/emacs client. An alternative is to use various (not so good hacks) with tinyfugue or the new tkmoo-light client. Use an emacs client if you know emacs and work under Unix, else hunt down a decent client, it is worth the trouble! If you really can't try to learn the in-MOO editor. (See section 1.4.3 for a description of some clients and also watch out for Java applets that will allow local editing)
Important: To use a local editor, 'type @edito +l'. This will ship everything
you edit to your editor (if your moo client allows you to do that).
Type 'help @editoptions' for details
At TECFAMOO with the emacs/rmoo setup we use the following setup:
>@edito
Current edit options:
-quiet_insert Report line numbers on insert or append.
-eval_subs Ignore .eval_subs when compiling verbs.
+local Ship text to client for local editing.
-no_parens include all parentheses when fetching verbs.
Here is an example:
>@edit #209:eat
If you use the in-line moo-client you will get something like this:
Now editing #209:eat (this none none).
>list
1: choice = this.kinds[random(3)];
__2_ player.location:announce_all(player.name, " mange un ", choice, ".");
^^^^
Type 'look' to see the commands available (well some day we just might write a MOO editor tutorial too).
In the emacs client you get this in a SEPARATE window:
@program #209:eat
choice = this.kinds[random(3)];
player.location:announce_all(player.name, " mange un ", choice, ".");
.
To ship the code back to MOO, press ctrl-C ctrl-S, and don't change the first and the last line (e.g. the ``.'')!! See section 1.4.3 for more details.