X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=runtime%2Fhelp%2Fcommands.md;h=a1e64cbcafe841f768e29271b99c0cb27d422589;hb=0a500be3ba5f29bae5f0976ac7ecbc0f80e20446;hp=31f64cc08027c5090d6caa103bafed3811e7679a;hpb=befc39c0b18c0de7493d6697a1a91b8fe552ab74;p=micro.git diff --git a/runtime/help/commands.md b/runtime/help/commands.md index 31f64cc0..a1e64cbc 100644 --- a/runtime/help/commands.md +++ b/runtime/help/commands.md @@ -5,42 +5,101 @@ Here are the possible commands that you can use. * `quit`: Quits micro. -* `save`: Saves the current buffer. +* `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 + 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. + +* `log`: opens a log of all messages and debug statements. + +* `plugin install plugin_name`: installs the given plugin. + +* `plugin remove plugin_name`: removes the given plugin. + +* `plugin list`: lists all installed plugins. + +* `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 + 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. + +* `plugin available`: list plugins available for download (this includes any + plugins that may be already installed). + +* `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. + +* `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. -* `gofmt`: Run gofmt on the current file. +# 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.