# Command bar
-The command bar is opened by pressing Ctrl-e. It is a single-line buffer,
+The command bar is opened by pressing CtrlE. It is a single-line buffer,
meaning that all keybindings from a normal buffer are supported (as well
as mouse and selection).
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.
+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.
# Commands
-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
+Micro provides the following commands that can be executed at the command-bar
+by pressing `CtrlE` and entering the command. Arguments are placed in single
quotes here but these are not necessary when entering the command in micro.
* `bind 'key' 'action'`: creates a keybinding from key to action. See the
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.
+* `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`.
+* `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.
-* `vsplit 'filename'`: opens a vertical split with `filename`. If no filename is
- provided, a vertical split is opened with an empty buffer.
+* `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.
+* `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`.
-* `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 'list'`: lists all installed plugins.
+* `plugin list`: lists all installed plugins.
+
+* `plugin install 'pl'`: install a plugin.
+
+* `plugin remove 'pl'`: remove a plugin.
-* `plugin version 'pl'`: shows version for specified plugin.
+* `plugin update 'pl'`: update a plugin (if no arguments are provided
+ updates all plugins).
-* `plugin info 'pl'`: shows additional info for specified plugin.
+* `plugin search 'pl'`: search available plugins for a keyword.
+
+* `plugin available`: show available plugins that can be installed.
* `reload`: reloads all runtime files.
* `showkey`: Show the action(s) bound to a given key. For example
running `> showkey CtrlC` will display `Copy`.
+* `term exec?`: Open a terminal emulator running the given executable. If no
+ executable is given, this will open the default shell in the terminal
+ emulator.
+
---
The following commands are provided by the default plugins:
* `lint`: Lint the current file for errors.
-
* `comment`: automatically comment or uncomment current selection or line.