# Command bar
-The command bar is opened by pressing CtrlE. It is a single-line buffer,
+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).
# Commands
-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
+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.
* `bind 'key' 'action'`: creates a keybinding from key to action. See the
`key` that already exist.
* `help 'topic'?`: opens the corresponding help topic. If no topic is provided
- opens the default help screen.
+ opens the default help screen. Help topics are stored as `.md` files in the
+ `runtime/help` directory of the source tree, which is embedded in the final
+ binary.
* `save 'filename'?`: saves the current buffer. If the file is provided it
will 'save as' the filename.
* `quit`: quits micro.
+* `goto 'line'`: jumps to the given line number. A negative number can be
+ passed to jump inward from the end of the file; for example, -5 jumps
+ to the 5th-last line in the file.
+
* `replace 'search' 'value' 'flags'?`: This will replace `search` with `value`.
The `flags` are optional. Possible flags are:
* `-a`: Replace all occurrences at once
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.
+* `tabmove '[-+]?n'`: Moves the active tab to another slot. `n` is an integer.
+ If `n` is prefixed with `-` or `+`, then it represents a relative position
+ (e.g. `tabmove +2` moves the tab to the right by `2`). If `n` has no prefix,
+ it represents an absolute position (e.g. `tabmove 2` moves the tab to slot `2`).
+
+* `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.
is most useful for debugging keybindings.
* `showkey`: Show the action(s) bound to a given key. For example
- running `> showkey CtrlC` will display `Copy`.
+ running `> showkey Ctrl-c` 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.
+ executable is given, this will open the default shell in the terminal
+ emulator.
---