]> git.lizzy.rs Git - micro.git/blobdiff - runtime/help/commands.md
Update tutorial docs
[micro.git] / runtime / help / commands.md
index 0eff5e691bc0aa2f9aa44ffaf991cfcd5bb9e95e..ee0eb31d3b16019dbeecf31247c640caee8ec63d 100644 (file)
-# Possible commands
+# Command bar
 
 
-You can execute an editor command by pressing `Ctrl-e` followed by the command.
-Here are the possible commands that you can use.
+The command bar is opened by pressing Ctrl-e. It is a single-line buffer,
+meaning that all keybindings from a normal buffer are supported (as well
+as mouse and selection).
 
 
-* `quit`: Quits micro.
+When running a command, you can use extra syntax that micro will expand before
+running the command. To use an argument with a space in it, put it in
+quotes. The command bar parser uses the same rules for parsing arguments that
+`/bin/sh` would use (single quotes, double quotes, escaping). The command bar
+does not look up environment variables.
 
 
-* `save filename?`: Saves the current buffer. If the filename is provided it will
-   'save as' the filename.
+# Commands
 
 
-* `replace "search" "value" flags`: This will replace `search` with `value`. 
-   The `flags` are optional.
-   At this point, there is only one flag: `c`, which enables `check` mode 
-   which asks if you'd like to perform the replacement each time
+Micro provides the following commands that can be executed at the command-bar by
+pressing `Ctrl-e` and entering the command. Arguments are placed in single
+quotes here but these are not necessary when entering the command in micro.
 
 
-   Note that `search` must be a valid regex.  If one of the arguments
-   does not have any spaces in it, you may omit the quotes.
+* `bind 'key' 'action'`: creates a keybinding from key to action. See the
+   `keybindings` documentation for more information about binding keys.
+   This command will modify `bindings.json` and overwrite any bindings to
+   `key` that already exist.
 
 
-* `set option value`: sets the option to value. See the `options` help topic
-   for a list of options you can set.
+* `help 'topic'?`: opens the corresponding help topic. If no topic is provided
+   opens the default help screen.
 
 
-* `setlocal option value`: sets the option to value locally (only in the current
-   buffer).
+* `save 'filename'?`: saves the current buffer. If the file is provided it
+   will 'save as' the filename.
 
 
-* `show option`: shows the current value of the given option.
+* `quit`: quits micro.
 
 
-* `eval "expression"`: Evaluates a Lua expression. Note that micro will not
-   print anything so you should use `messenger:Message(...)` to display a
-   value.
+* `replace 'search' 'value' 'flags'?`: This will replace `search` with `value`. 
+   The `flags` are optional. Possible flags are:
+   * `-a`: Replace all occurrences at once
+   * `-l`: Do a literal search instead of a regex search
 
 
-* `run sh-command`: runs the given shell command in the background. The 
+   Note that `search` must be a valid regex (unless `-l` is passed). If one 
+   of the arguments does not have any spaces in it, you may omit the quotes.
+
+* `replaceall 'search' 'value'`: this will replace all occurrences of `search`
+   with `value` without user confirmation.
+
+       See `replace` command for more information.
+
+* `set 'option' 'value'`: sets the option to value. See the `options` help topic for
+   a list of options you can set. This will modify your `settings.json` with the
+   new value.
+
+* `setlocal 'option' 'value'`: sets the option to value locally (only in the current
+   buffer). This will *not* modify `settings.json`.
+
+* `show 'option'`: shows the current value of the given option.
+
+* `run 'sh-command'`: runs the given shell command in the background. The 
    command's output will be displayed in one line when it finishes running.
 
    command's output will be displayed in one line when it finishes running.
 
-* `bind key action`: creates a keybinding from key to action. See the sections on
-   keybindings above for more info about what keys and actions are available.
+* `vsplit 'filename'`: opens a vertical split with `filename`. If no filename is
+   provided, a vertical split is opened with an empty buffer.
+
+* `hsplit 'filename'`: same as `vsplit` but opens a horizontal split instead of a
+   vertical split.
+
+* `tab 'filename'`: opens the given file in a new tab.
+
+* `tabswitch 'tab'`: This command will switch to the specified tab. The `tab` can
+   either be a tab number, or a name of a tab.
 
 
-* `vsplit filename`: opens a vertical split with `filename`. If no filename is
-   provided, a vertical split is opened with an empty buffer
+* `textfilter 'sh-command'`: filters the current selection through a shell command
+   as standard input and replaces the selection with the stdout of the shell command.
+   For example, to sort a list of numbers, first select them, and then execute
+   `> textfilter sort -n`.
+                                        
+* `log`: opens a log of all messages and debug statements.
 
 
-* `hsplit filename`: same as `vsplit` but opens a horizontal split instead of
-   a vertical split
+* `plugin 'list'`: lists all installed plugins.
 
 
-* `tab filename`: opens the given file in a new tab.
+* `plugin version 'pl'`: shows version for specified plugin.
 
 
-* `log`: opens a log of all messages and debug statements
+* `plugin info 'pl'`: shows additional info for specified plugin.
+
+* `reload`: reloads all runtime files.
+
+* `cd 'path'`: Change the working directory to the given `path`.
+
+* `pwd`: Print the current working directory.
+
+* `open 'filename'`: Open a file in the current buffer.
+
+* `reset 'option'`: resets the given option to its default value
+
+* `retab`: Replaces all leading tabs with spaces or leading spaces with tabs
+   depending on the value of `tabstospaces`.
+
+* `raw`: micro will open a new tab and show the escape sequence for every event
+   it receives from the terminal. This shows you what micro actually sees from
+   the terminal and helps you see which bindings aren't possible and why. This
+   is most useful for debugging keybindings.
+
+* `showkey`: Show the action(s) bound to a given key. For example
+   running `> showkey CtrlC` will display `Copy`.
 
 ---
 
 
 ---
 
@@ -50,6 +105,4 @@ The following commands are provided by the default plugins:
 
 * `lint`: Lint the current file for errors.
 
 
 * `lint`: Lint the current file for errors.
 
-* `gofmt`: Run gofmt on the current file.
-
-* `goimports`: Run goimports on the current file.
+* `comment`: automatically comment or uncomment current selection or line.