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 ``.'') !!