* `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).
* `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.
-
* `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
- a 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.
+
+* `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.
-* `plugin install plugin_name`: installs the given plugin.
+* `plugin list`: lists all installed plugins.
-* `plugin remove plugin_name`: removes the given plugin.
+* `plugin version pl`: shows version for specified plugin.
-* `plugin list`: lists all installed plugins.
+* `plugin info pl`: shows additional info for specified plugin.
-* `plugin update`: updates all installed plugins.
+* `reload`: reloads all runtime files.
-* `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.
+* `cd path`: Change the working directory to the given `path`.
- You can also see more information about the plugin manager
- in the `Plugin Manager` section of the `plugins` help topic.
+* `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 `main.(*View).Copy`. Unfortuately
+ showkey does not work well for keys bound to plugin actions. For those
+ it just shows "LuaFunctionBinding."
---
* `lint`: Lint the current file for errors.
-* `gofmt`: Run gofmt on the current file.
+* `comment`: automatically comment or uncomment current selection or line.
+
+# Command Parsing
-* `goimports`: Run goimports on the current file.
+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.