Intro to MMM Editor


MMM is a text editor (now for PCs with 101+ key keyboard, but maybe later for Sun, Alpha, ...) Versions for following operating systems are avialable: Size of executables is less then 100K.
Features avialable:
Not avialable text formatting, multiple fonts, printing and other stuff you can find in text processors like MS-WORD ... Also not avialable UnDo feature, but I'll add it later.
For compiling editor under DOS, OS2, Linux you must enter mmm directory and say
MAKE -f makefilename
where makefilename is
For compiling editor under Windows95/NT you must create a project with two targets: mmmw and mmm_cfg. The sources for mmmw are: mmmx.cpp, mmmtext.cpp, mmmgrep.cpp, mmm_nunx.cpp, mmm_w95.cpp The source for mmm_cfg is mmm_cfg.cpp.
After compiling you can use MMM, but the only function avialable without config is ABORT (Ctrl+Alt+Shift+Esc keystroke) - exiting from editor without saving anything. To work normally you must create config file mmm_base.cfg by mmm_cfg utility by typing mmm_cfg configfile.
Under DOS, OS2, Win OS-es editor looks for MMM environment variable and, if this variable is defined, opens mmm_base.cfg file in directory pointed by MMM. Example: mmm=c:\mim then config file is c:\mim\mmm_base.cfg If variable is not defined, then config file is in directory in which mm*.exe lies, for example in C:\BIN
Under Linux OS config file must be in user's home, for example in /home/machulsk for user machulsk
mmm_cfg generates file with default keyboard layout Now you're ready to use MMM. But please read description of default keyboard layout carefully.
Note: Under Linux, editor switches keyboard into RAW mode hence you can't use MMM on X-terminal or through telnet. I think later version with getc keyboard will be written. Then editor will work on Suns, Alphas, Crays, ... everywhere. RULEZ. Now I'm working on X11R4+ version of editor. Than you can compile, tune and use it on every Unix with XFree. But I don't know what about OpenWindows and other X-s. Maybe their APIs has differences with XFree.

Description of main concepts and HOWTO

When run mmm editor, you can see usual text and cursor on it. You can move cursor by pressing arrow buttons and type letters by pressing usual buttons (letters and digits). You can quit from mmm (Alt+UpArrow) or enter into another files (Ald+DownArrow). Some lines of your text are white (usual lines) and some are yellow (yellow lines are Folds). You can place cursor on yellow line and press Ald+DownArrow to enter this Fold. There you can type more text. You can insert new Fold in current position by pressing Alt+Ins or delete current Fold/Line. Fold concept helps you to structurize text of your program.
How to Search Press Ctrl+'*' (gray '*' but not white '*' above '8' digit), and You'll find yourself in Search Page. Then insert empty line, type expression you want to search and press Ctrl+'*' one more time to return to your text. Now You can search forward by pressing '*' or backward by pressing Shift+'*'. If You want to search regular expressions (wildcars, [],{}, ... as in VI) then you have to start your expression from backslash with space after it.
How to Replace Your search-expression must looks the foolowing way: What to Find\ What To Substitute (backslash with space separates two expressions) After that you can press Alt+'*' to replace.
How to Execute program from within MMM type expression you want send to command interpreter and press Shift+Esc on that line. If the Line under cursor was Fold then all lines from that fold will be executed.
What is Block? you can mark line by pressing Caps+UpArrow or Caps+DownArrow on it, and so you can mark a lot of lines. When later you type something in one of the marked lines, everything you type will be written syncronous in every marked line.
How to enter into file with name /my file with spaces in name/ from within editor? Type
"my file with spaces in name"
put cursor on /my/ or /name/ word, press Alt+DownArrow and you will find yourself in that file. If you place cursor on one of the other words (spaces for example) then editor will open file with short name (here: spaces).
What is in status line?
This editor was written by two people: my scientific advisor Andrey V. Astrelin and me Oleg Machulski.

Brief history

1994 - automn 1995 base version of MMM for DOS with Folds support was written by Astrelin
nov 1995 Some simple modifications (Machulski)
nov-dec 1995 Marked lines (blocks),Multiple pages (Machulski)
dec 1995 Conviguration is saved in .cfg file (Both)
winter 1995/1996 Ugly version of regular expressions search (Machulski)
early spring 1996 Ugly version of macrocommands (Machulski)
Two weeks later Ugly version of macrocommands removed
spring 1996 Very good (final) version of search (Astrelin)
late spring 1996 Port to OS/2 (Machulski)
summer-automn 1996 Port to Win95/NT (Astrelin)
automn 1996 Port to Linux (Machulski)
late automn 1996 MMMl compiler (Machulski)

If you encounter a problem with MMM then visit Machulsk's homepage & mail me
scuse me for some grammar mistakes, but my native language is Russian &>>&10 0 10 0