]> git.lizzy.rs Git - micro.git/blobdiff - runtime/help/commands.md
Add railscast colorscheme
[micro.git] / runtime / help / commands.md
index 5e347af95b8ad754810a8c1d56763422edd0309f..a1e64cbcafe841f768e29271b99c0cb27d422589 100644 (file)
@@ -5,19 +5,24 @@ Here are the possible commands that you can use.
 
 * `quit`: Quits micro.
 
-* `save filename?`: Saves the current buffer. If the filename is provided it will
-   'save as' the filename.
+* `save filename?`: Saves the current buffer. If the filename is provided it
+  will 'save as' the filename.
 
 * `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.
+   The `flags` are optional. Possible flags are:
+   * `-a`: Replace all occurrences at once
+   * `-l`: Do a literal search instead of a regex search
 
-   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.
+   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.
 
-* `set option value`: sets the option to value. See the `options` help topic
-   for a list of options you can set.
+* `replaceall "search" "value"`: This will replace `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.
 
 * `setlocal option value`: sets the option to value locally (only in the current
    buffer).
@@ -25,23 +30,25 @@ Here are the possible commands that you can use.
 * `show option`: shows the current value of the given option.
 
 * `eval "expression"`: Evaluates a Lua expression. Note that micro will not
-   print anything so you should use `messenger:Message(...)` to display a
-   value.
+   print anything so you should use `messenger:Message(...)` to display a value.
 
 * `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.
 
-* `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.
+* `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
-   vertical split.
+* `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.
+                                        
 * `log`: opens a log of all messages and debug statements.
 
 * `plugin install plugin_name`: installs the given plugin.
@@ -52,15 +59,15 @@ Here are the possible commands that you can use.
 
 * `plugin update`: updates all installed plugins.
 
-* `plugin search plugin_name`: searches for the given plugin.
-   Note that you can find a list of all available plugins at
+* `plugin search plugin_name`: searches for the given plugin. Note that you can
+   find a list of all available plugins at
    github.com/micro-editor/plugin-channel.
 
-   You can also see more information about the plugin manager
-   in the `Plugin Manager` section of the `plugins` help topic.
+   You can also see more information about the plugin manager in the
+   `Plugin Manager` section of the `plugins` help topic.
 
-* `plugin available`: list plugins available for download (this includes
-   any plugins that may be already installed).
+* `plugin available`: list plugins available for download (this includes any
+   plugins that may be already installed).
 
 * `reload`: reloads all runtime files.
 
@@ -68,8 +75,31 @@ Here are the possible commands that you can use.
 
 * `pwd`: Print the current working directory.
 
+* `open filename`: Open a file in the current buffer.
+
+* `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 `main.(*View).Copy`. Unfortuately
+   showkey does not work well for keys bound to plugin actions. For those
+   it just shows "LuaFunctionBinding."
+
 ---
 
 The following commands are provided by the default plugins:
 
 * `lint`: Lint the current file for errors.
+
+# Command Parsing
+
+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, simply put it in
+quotes. You can also use environment variables in the command bar and they
+will be expanded to their value. Finally, you can put an expression in backticks
+and it will be evaluated by the shell beforehand.