mp.copy(), mp.cut() and mp.paste() all sync directly with the underlying system clipb...
[mp-5.x.git] / doc / mp_actions.txt
blob83935e75854fd40dc9b98b8131a1e47d0bbb9698
1 Minimum Profit Action Reference
2 ===============================
4 Minimum Profit _actions_ are editor commands that can be directly
5 bound to the menu or a key.
7 about
8 -----
10 _About..._
12 Shows the "About Minimum Profit" information.
14 build
15 -----
17 _Build project..._ (`f2')
19 Invokes the building of a Make project. If the `Makefile' file exists in the
20 working directory, all targets are extracted from it and shown in a list dialog
21 for the user to select one. The selected one will be called as the only argument
22 for the `make' program and its output read. All output will be catched and shown
23 in a read-only document. Compiler errors and warnings will be highlighted and
24 can be navigated by using the `seek_next' and `seek_prev' actions (keys `f3' and
25 `ctrl-f3'). The `open_under_cursor' action can be used to edit each error or warning.
27 close
28 -----
30 _Close_ (`ctrl-w')
32 Closes the active document. If there are unsaved changes, a confirmation dialog
33 is shown.
35 close_all
36 ---------
38 _Close all_
40 Closes all open documents.
42 complete
43 --------
45 _Complete..._ (`ctrl-u')
47 Takes the (probably partial) word under the cursor and searches for words in
48 the current document that start with it. If more than one is found, a list dialog
49 is shown to make a selection. The word will be replaced with the selected one.
51 complete_symbol
52 ---------------
54 _Symbol completion..._
56 Uses a similar approach than the `complete' action, but using the current _tags_
57 file as the completion list. If no _tags_ file exist in the working directory,
58 the *ctags* program is invoked to build it.
60 For other uses of the _tags_ file, see `find_tag'.
62 copy_mark
63 ---------
65 _Copy block_ (`ctrl-c')
67 Copies the currently selected block to the clipboard.
69 cut_mark
70 --------
72 _Cut block_ (`ctrl-x')
74 Copies the currently selected block to the clipboard and deletes the block.
76 delete
77 ------
79 _Delete character_ (`delete')
81 Delete the character over the cursor.
83 delete_left
84 -----------
86 _Delete character to the left_ (`backspace')
88 Deletes the character to the left of the cursor.
90 delete_line
91 -----------
93 _Delete line_ (`ctrl-y')
95 Deletes the line under the cursor.
97 document_list
98 -------------
100 _Document list_
102 Shows a dialog with the list of currently open documents. The list cursor will
103 be over the active one and the documents with pending modifications will be
104 prefixed with an asterisk. Selecting a different one will make it become the
105 active.
107 encoding
108 --------
110 _Set charset encoding..._
112 Shows a dialog asking for a string describing the charset encoding that will
113 be used when saving or opening new documents. If an empty string is entered,
114 the current locale will be used. the following set of character encodings are
115 always available:
117  * utf8.
118    Aliases are utf-8, UTF8 and UTF-8.
119  * iso8859-1.
120    Aliases are iso-8859-1, ISO-8859-1, ISO8859-1, latin1, latin-1, LATIN1 and LATIN-1.
121  * utf16 (with endianness detection on input and local endianness on output).
122    Aliases are utf-16, UTF16, UTF-16, ucs-2, UCS2, UCS-2.
123  * utf16be (big endian).
124    Aliases are utf-16be, UTF16BE, UTF-16BE, ucs2be, UCS2BE, ucs-2be and UCS-2BE.
125  * utf16le (little endian).
126    Aliases are utf-16le, UTF16LE, UTF-16LE, ucs2le, UCS2LE, ucs-2le and UCS-2LE.
127  * utf32 (with endianness detection on input and local endianness on output).
128    Aliases are utf-32, UTF32, UTF-32, ucs-4, ucs4, UCS-4 and UCS4.
129  * utf32be (big endian).
130    Aliases are utf-32be, UTF32BE, UTF-32BE, ucs4be, UCS4BE, ucs-4be and UCS-4BE.
131  * utf32le (little endian).
132    Aliases are utf-42le, UTF42LE, UTF-42LE, ucs4le, UCS4LE, ucs-4le and UCS-4LE.
134 If the 'iconv' library is available, there can be many more encodings.
136 eval
137 ----
139 _Execute MPSL code..._ (`escape')
141 Shows a dialog asking for a string of MPSL code that will be executed.
143 eval_doc
144 --------
146 _Execute document as MPSL_
148 Executes the active document as MPSL code.
150 exec_command
151 ------------
153 _Run system command..._
155 Shows a dialog asking for a system command to execute. If the command is
156 preceded by the pipe symbol (|), the active document will be fed as the
157 standard input of the command; otherwise, the standard output of the command
158 will be inserted in the cursor position.
160 exit
161 ----
163 _Exit_ (`ctrl-q')
165 Closes all documents and exists Minimum Profit.
167 find_tag
168 --------
170 _Search tag..._ (`ctrl-t')
172 Shows a dialog asking for a tag to search. The _tags_ file will be read from
173 the working directory and the tag searched there; all symbols starting with it
174 will be shown in a list dialog. When selecting a tag from that list, the file
175 containing it will be open and the cursor moved to where the tag is.
176 This is a useful way of finding where a function or variable is defined.
178 If no _tags_ file exist in the working directory, the *ctags* program is
179 invoked to build it.
181 For other uses of the _tags_ file, see `complete_symbol'.
183 goto
184 ----
186 _Go to line..._ (`ctrl-g')
188 Shows a dialog asking for a line number. If accepted, the current document
189 cursor will move to that line (if existent).
191 grep
192 ----
194 _Grep (find inside) files..._
196 Shows a dialog asking for a string to be searched, and an optional spec of
197 files to search the string in. If no spec is given, all files in the working
198 directory are scanned. Matches are shown in a read-only document, and each
199 match can be directly open by using the 'open_under_cursor' action.
201 This is a useful way to find where a function or variable is used.
203 help
204 ----
206 _Help on word over cursor_ (`f1')
208 Picks the word under the cursor and asks the underlying system for help
209 about that term.
211 hex_view
212 --------
214 _Hexadecimal viewer..._
216 Shows a dialog to open a read-only, hexadecimal view of a file.
218 ignore_last_misspell
219 --------------------
221 _Ignore last misspelled word_
223 Ignores the last misspelled word found by `seek_misspelled' by adding it
224 to a whitelist so it won't be found again.
226 insert_line
227 -----------
229 _Insert line_ (`enter')
231 Inserts a new line. If the cursor is in the middle of a line,
232 it's split in two.
234 insert_space
235 ------------
237 _Insert space_ (`space')
239 Inserts a space, triggering word wrapping, if active.
241 insert_tab
242 ----------
244 _Insert tab_ (`tab')
246 Inserts a tabulator, triggering word wrapping, if active.
248 insert_template
249 ---------------
251 _Insert template..._
253 Shows a list dialog with the names of the templates for the user to
254 select one, that will be inserted in the cursor position.
256 join_paragraph
257 --------------
259 _Join a paragraph in one line_
261 Joins the text from the cursor position to the next empty line as one
262 paragraph.
264 line_options
265 ------------
267 _Line options..._
269 Shows a dialog asking for line configuration options, like word wrapping,
270 end of line string, etc.
272 load_session
273 ------------
275 _Load session_
277 Loads a session, previously saved by `save_session'.
279 mark
280 ----
282 _Mark beginning/end of block_ (`f9')
284 Marks the beginning or the end of the block.
286 mark_vertical
287 -------------
289 _Mark vertical block_ (`ctrl-b')
291 Marks the beginning or the end of a vertical (also known as
292 rectangular) block.
294 menu
295 ----
297 _Menu_ (`ctrl-a')
299 Calls the menu.
301 mouse_drag_mark
302 ---------------
304 _Mark using mouse dragging_ (`mouse-drag')
306 This action is called by the underlying driver when the mouse is used to drag
307 over text. It must not be called nor bound to a key.
309 move_bof
310 --------
312 _Beginning of document_ (`ctrl-home')
314 Moves the cursor to the beginning of the document (first line, first column).
316 move_bol
317 --------
319 _Beginning of line_ (`home')
321 Moves the cursor to the beginning of the current line (first column).
323 move_down
324 ---------
326 _Line down_ (`cursor-down')
328 Moves the cursor to the next line.
330 move_eof
331 --------
333 _End of document_ (`ctrl-end')
335 Moves the cursor to the last line of the document.
337 move_eol
338 --------
340 _End of line_ (`end')
342 Moves the cursor to the end of the current line.
344 move_left
345 ---------
347 _Character left_ (`cursor-left')
349 Moves the cursor one character to the left. If it's in the beginning of
350 a line, moves to the last character of the previous line.
352 move_mouse_wheel_down
353 ---------------------
355 _Mouse wheel down_ (`mouse-wheel-down')
357 Moves the cursor four lines down.
359 move_mouse_wheel_up
360 -------------------
362 _Mouse wheel up_ (`mouse-wheel-up')
364 Moves the cursor four lines up.
366 move_pgdn
367 ---------
369 _Page down_ (`page-down')
371 Moves the cursor a page down.
373 move_pgup
374 ---------
376 _Page up_ (`page-up')
378 Moves the cursor a page up.
380 move_right
381 ----------
383 _Character right_ (`cursor-right')
385 Moves the cursor one character to the right. If it's over the end of
386 the line, moves to the first character of the next line.
388 move_to_mouse_position
389 ----------------------
391 _Move cursor to mouse click_ (`mouse_left_button', `mouse_right_button', `mouse-middle-button')
393 Moves the cursor to where the mouse is. This action is called by the
394 underlying system and must not be directly called nor bound to a key.
396 move_up
397 -------
399 _Line up_ (`cursor-up')
401 Moves the cursor to the previous line.
403 move_word_left
404 --------------
406 _Word left_ (`ctrl-cursor-left')
408 Moves the cursor to the beginning of the previous word.
410 move_word_right
411 ---------------
413 _Word right_ (`ctrl-cursor-right')
415 Moves the cursor to the beginning of the next word.
420 _New_
422 Creates a new unnamed document.
424 next
425 ----
427 _Next_ (`ctrl-n')
429 Select the next document as the active one. The list of documents
430 is circular; if the active one is the last, the first one is selected.
432 open
433 ----
435 _Open..._ (`ctrl-o')
437 Shows a dialog to open a file. Its behaviour and look are system-dependent.
439 If the document to be opened is password-protected, a dialog asking for the
440 password will also appear.
442 open_config_file
443 ----------------
445 _Edit configuration file_
447 Opens the user configuration file for editing. It doesn't have to exist.
449 open_templates_file
450 -------------------
452 _Edit templates file_
454 Opens the templates file for edition. Templates defined here can be later
455 inserted by calling `insert_template'. See the `mp_templates.sample' file
456 included in the documentation for an example of the accepted format.
458 open_under_cursor
459 -----------------
461 _Open file under cursor_ (`ctrl-enter')
463 Picks the word in the current document under the cursor, accepts it as
464 a document name and tries to open it. If it's in the format string:number,
465 is accepted as a file name and a line number.
467 paste_mark
468 ----------
470 _Paste block_ (`ctrl-v')
472 Pastes the text in the clipboard into the cursor position.
474 play_macro
475 ----------
477 _Play macro_ (`f7')
479 Replays all keystrokes recorded during the previous _learning mode_,
480 activated by a call to `record_macro'.
482 prev
483 ----
485 _Previous_
487 Select the previous document as the active one. The list of documents
488 is circular; if the active one is the first, the last one is selected.
490 record_macro
491 ------------
493 _Record macro_ (`f10')
495 Toggles _learning mode_. When active, all keystrokes are recorded to
496 further execute them by a call to `play_macro'.
498 redo
499 ----
501 _Redo_
503 Redoes the previously undone operation, if any.
505 repeated_words_options
506 ----------------------
508 _Repeated words options..._
510 Sets the options for the `seek_repeated_word' action.
512 replace
513 -------
515 _Replace..._ (`ctrl-r')
517 Shows the search and replace dialog box.
519 revert
520 ------
522 _Revert_
524 Reverts the active document to the state on disk.
526 save
527 ----
529 _Save..._ (`ctrl-s')
531 Saves the active document. If it's unnamed, `save_as' is called instead.
533 save_as
534 -------
536 _Save as..._
538 Shows a dialog asking for a file name to save the current document as.
539 Its behaviour and look are system-dependent.
541 save_session
542 ------------
544 _Save session_
546 Saves all documents and its positions as a session to be later loaded
547 by `load_session'.
549 section_list
550 ------------
552 _Section list..._ (`ctrl-d')
554 Shows a list with the sections found in the current document. Selecting
555 one of them moves the cursor there.
557 seek
558 ----
560 _Search text..._ (`ctrl-f')
562 Shows the search text dialog.
564 seek_misspelled
565 ---------------
567 _Search misspelled word_ (`f5')
569 Searches for the next misspelled word in the current document. If one
570 is found, the cursor is moved there. If it's a false positive, the
571 `ignore_last_misspell' action can be called to add the recently found
572 word to a whitelist so it won't be found again.
574 seek_next
575 ---------
577 _Search next_ (`f3')
579 Searches the next occurrence of the string entered by the `seek' action.
581 seek_next_char
582 --------------
584 _Move to next instance of current char_ (`ctrl-page-down')
586 Searches for the next occurrence of the char under the cursor. This is
587 useful, for instance, to jump to the next paren or brace.
589 seek_prev
590 ---------
592 _Search previous_ (`ctrl-f3')
594 Same as `seek_next', but searching backwards.
596 seek_prev_char
597 --------------
599 _Move to previous instance of current char_ (`ctrl-page-up')
601 Searches for the previous occurrence of the char under the cursor. This is
602 useful, for instance, to jump to the previous paren or brace.
604 seek_repeated_word
605 ------------------
607 _Search repeated word_ (`f6')
609 Searches for repeated words. Controlled by the configuration directives
610 `mp.config.rw_num_chars' and `mp.config.rw_max_dist'. A searching is done
611 from the cursor position trying to find two words nearer from each
612 other up to a maximum of the specified distance and that start or
613 end with the same letters. If a pair is found, the words are
614 highlighted as spelling errors and the cursor moved over the first
615 one. Otherwise, a message marking the end is shown and nothing is done.
617 set_password
618 ------------
620 _Password protect..._
622 Shows a dialog asking (twice) for a password to protect the active document with
623 when it's saved. From that moment on, each time the document is tried to open
624 the password will be asked for.
626 Minimum Profit encrypts documents using a variant of the ARCFOUR algorithm.
628 sync
629 ----
631 _Save modified texts_
633 Saves all texts with pending modifications.
635 tab_options
636 -----------
638 _Tab options..._
640 Shows a dialog asking for tabulator configuration options, like tab size,
641 convert to spaces, etc.
643 toggle_spellcheck
644 -----------------
646 _Toggle spellchecking_
648 toggles spellchecking. When active, misspelled words will be shown underlined.
650 undo
651 ----
653 _Undo_ (`ctrl-z')
655 Undoes the last operation.
657 unmark
658 ------
660 _Unmark block_ (`f8')
662 Unmarks the selected block.
664 word_count
665 ----------
667 _Count words_
669 Counts the number of words and lines in the active document.
671 word_wrap_paragraph
672 -------------------
674 _Word-wrap a paragraph_ (`f4')
676 Rebuilds the text from the cursor position to the following empty
677 line using the wordwrapping setup. Wordwrapping must be set (see
678 `line_options').
680 zoom_in
681 -------
683 _Bigger font_ (`f12')
685 Selects a bigger font (only for GUIs).
687 zoom_out
688 --------
690 _Smaller font_ (`f11')
692 Selects a smaller font (only for GUIs).
695 ----
696 Angel Ortega <angel@triptico.com>