Un naufragio personal

Ángel Ortega

Minimum Profit Configuration Directives

The following configuration variables can be set in the configuration files, from the command line or from the `Execute MPSL code...' option in the `Edit' menu.

For example, if you always want automatic indentation, word wrapping at column 75 and a special ispell command, you can add the following MPSL code to `~/.config/mp.mpsl' (user-specific) or `/etc/mp.mpsl' (system-wide):

mp.config.auto_indent = 1;
mp.config.word_wrap = 75;
mp.config.ispell_cmd = "aspell -a";

As well, you can disable dark mode from the command line (only for the current session):

mp-5 -e "mp.config.dark_mode = 0"

All configuration variables are inside the `mp.config' object.


Controls the use of RGB GUI colors instead of the traditional 16 text colors. It can be set to: 2, force RGB color; 1, autodetect; or 0: disable completely. Autodetection is done by asking the terminal for color information and disabling RGB use if there is no valid response. Please take into account that some terminal emulators and multiplexers (e.g. `tmux' or `st') do not report color information even though they totally support it (default: 1, autodetect).

This setting can only be set on startup (from the configuration file or the command line).


Set to 1 if automatic indentation is wanted (default: 0, no indentation).


Number of seconds for the automatic saving of files. If set to 0, auto save is disabled (default: 120).


Set to 1 to automatically load / save sessions on startup / exit (default: 0, no automatic sessions).


Set to 1 if searches are to be done in a case-sensitive way (default: 1).


The external command to be executed when a tag search is requested. By default it's "ctags *". Other useful value is "ctags -R", that search for tags recursively in subdirectories.


Selects dark (1) or light (0) color modes (default: 1).


Set the screen width (in characters) where the double page mode is automatically enabled. If no double page mode is desired, set it to 0 (default: 120).


Set to 1 if tab columns are to be inferred from the previous line (default: 0).


Set to 1 to select scrolling by partial screen jumps instead of line-by-line (default: 0).


The end of line character sequence (default: "\n" on Unix/Linux systems or "\r\n" on MS Windows).


The font face to be used in GUI environments (default: "Lucida Console" on MS Windows, "Mono" in the rest of GUI systems).


The font size to be used in GUI environments (default: 10).


The font weight to be used in GUI environments. It's a floating point number from 0 to 1, where lower values give thinner fonts and higher values bolder ones. The special value 0 (default) means don't care about the font weight.


Set to 1 if the `replace' operation must be done upto the end of the file (default: 0, do it only once).


The title to be used when exporting a mptxt file to HTML (default: the output file name).


In text modes, moves the hardware terminal cursor to the position of the cursor (default: 0).


The external command to be executed as a pipe for spellchecking. It must be compatible with ispell, and by default it's "ispell -a". Other useful values are "aspell -a", if you have aspell installed (a better alternative), or "ispell -a -Tutf8", if you happen to be in an UTF-8 environment and must use ispell.


If this option is set, each document will keep its original end of line sequence when saved. If not set, the string set in `mp.config.eol' will be used regardless of the original one (default: 1).


Set to 1 to store session information in the currently working directory instead of in the home directory (default: 0, save sessions in the home directory).


Additional flags for the `make' program (if you have a 4-core CPU, it's useful to set it as "-j 4") (default: "").


If set to 1, end-of-line characters are marked with a special character, instead of being invisible (default: 0, don't mark).


Set to 1 if the GUI window must open maximized (default: 0, no maximize).


The line number to be set the cursor to when a successful search is hit (default: 5). If set to 0, the position is not touched.


Set to 1 to disable mouse support in Curses and win32 console modes (default: 0).


The number of lines to read above the first visible line to calculate syntax highlight in blocks (default: 60 lines). There is probably no need to change this, unless using very big comment blocks or the like.


If set, the `grep' action is done recursively (default: 0).


Font face to be used in RTF exporting as normal text. Default is "Times New Roman".


Font size to be used in RTF exporting for normal text. Default is 12.


Percent scale of inserted images. Default is 100 (unchanged size).


Font face to be used in RTF exporting as verbatim text. Default is "Courier New".


Font size to be used in RTF exporting for verbatim text. Default is 10.


RTF export code for centered paragraphs.


RTF export code for default paragraphs.


RTF export code for first paragraphs.


RTF export code for left-aligned paragraphs.


RTF export code for normal paragraphs.


RTF export code for right-aligned paragraphs.


RTF export code for verbatim paragraphs.


Used by the `seek_repeated_word' action as the maximum distance that two similar words must be separated apart to be considered a repetition (default: 40 words).


Used by the `seek_repeated_word' action as the number of characters (from the start or the end) that two words must match to be considered similar and taken into account for repetitions (default: 4 characters).


Set to 1 to show line numbers (default: 0).


If set, the `move_bol' action will first move the cursor to the first non-whitespace character on the line. If the cursor is already on the first non-whitespace character the the cursor will move to column position 1 (default: 1).


The status format string to be shown in the status line. By default it's "%m%n %x,%y [%l] %R%O%W %s %e %t", where each percent-tag means:

|Tag | Description                                               |
| %V | Current MP version                                        |
| %m | Modify flag (asterisk or the empty string). If there      |
|    | are pending disk operations (e.g. the file is still being |
|    | loaded or saved) an exclamation mark is shown instead     |
| %x | X coordinate (column)                                     |
| %y | Y coordinate (line)                                       |
| %l | Total number of lines in current document                 |
| %R | Macro recording flag (R or the empty string)              |
| %O | Overwrite flag (O or the empty string if inserting)       |
| %s | Syntax highlight in use                                   |
| %t | Tag target over the cursor, or the empty string if none   |
| %n | Document name                                             |
| %e | Encoding used in the file, or the empty string if using   |
|    | current locale                                            |
| %w | Number of words in the current document (or in the        |
|    | current selection, if any). Slow in big documents.        |
| %u | Unicode codepoint of the character under the cursor       |
| %W | Visuap wrapping on flag (W or the empty string)           |
| %% | A percent sign                                            |


Set to 1 if tabs must be converted to spaces (default: 0, no conversion).


Tab size in column spaces (default: 4).


Set to 1 if text mode is explicitly requested (i.e. by using the -txt command line argument).


The format for the time stamp (default: "%a, %d %b %Y %H:%M:%S %z").


The font size when exporting an mptxt file to troff.


The page height when exporting an mptxt file to troff.


Maximum number of undo levels per document (default: 100).


Set to 1 if the file must be unlinked just before being overwritten (default: 1, do it).


If set to nonzero, extended Unicode characters are used in several places like text menus, special characters, games, etc. If set to 0, uses only ASCII or ISO8859-1 characters (default: 1).

The following snippet sets this variable only when the LANG environment variable contains the string "UTF-8":

mp.config.use_unicode = !!(ENV.LANG->regex("/UTF-8/"));


If set to nonzero, lines longer that the window or terminal are wrapped automatically to the next line (showing a special mark that a special, soft-break happened). If set to 0, long lines are cropped beyond the right margin (default: 1).


The column where word wrapping occurs (default: 0, no word wrapping).


ttcdt <dev@triptico.com>