X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=runtime%2Fhelp%2Ftutorial.md;h=bdc4f6dee717073b96dfda625ec6b82e8bacb8a7;hb=1dc1c65565dce81226c6f39610a4f971b61aeeec;hp=28032d3cb8b9d5fc07fb5def7f8ed1b940a79eb4;hpb=e071209add3b3f68460aec7aaea2c92daa5610c6;p=micro.git diff --git a/runtime/help/tutorial.md b/runtime/help/tutorial.md index 28032d3c..bdc4f6de 100644 --- a/runtime/help/tutorial.md +++ b/runtime/help/tutorial.md @@ -6,16 +6,7 @@ configure micro to your liking. Hopefully you'll find this useful. -### Plugins - -Micro has a plugin manager which can automatically download plugins for you. To -see the plugins 'official' plugins, go to github.com/micro-editor/plugin-channel. - -For example, if you'd like to install the snippets plugin (listed in that repo), -just press `CtrlE` to execute a command, and type `plugin install snippets`. - -For more information about the plugin manager, see the end of the `plugins` help -topic. +See `> help defaultkeys` for a list an explanation of the default keybindings. ### Settings @@ -25,7 +16,7 @@ the settings and their values. To change an option, you can either change the value in the `settings.json` file, or you can type it in directly while using micro. -Simply press CtrlE to go to command mode, and type `set option value` (in the +Press CtrlE to go to command mode, and type `set option value` (in the future, I will use `> set option value` to indicate pressing CtrlE). The change will take effect immediately and will also be saved to the `settings.json` file so that the setting will stick even after you close micro. @@ -79,31 +70,40 @@ what actions are available, see the `keybindings` help topic (`> help keybinding If you need more power than the json files provide, you can use the `init.lua` file. Create it in `~/.config/micro`. This file is a lua file that is run when -micro starts and is essentially a one-file plugin. +micro starts and is essentially a one-file plugin. The plugin name is `initlua`. -I'll show you how to use the `init.lua` file by giving an example of how to -create a binding to `CtrlR` which will execute `go run` on the current file, +This example will show you how to use the `init.lua` file by creating +a binding to `CtrlR` which will execute the bash command `go run` on the current file, given that the current file is a Go file. You can do that by putting the following in `init.lua`: ```lua -function gorun() - local buf = CurView().Buf -- The current buffer +local config = import("micro/config") +local shell = import("micro/shell") + +function init() + -- true means overwrite any existing binding to CtrlR + -- this will modify the bindings.json file + config.TryBindKey("CtrlR", "lua:initlua.gorun", true) +end + +function gorun(bp) + local buf = bp.Buf if buf:FileType() == "go" then - HandleShellCommand("go run " .. buf.Path, true, true) -- the first true means don't run it in the background + -- the true means run in the foreground + -- the false means send output to stdout (instead of returning it) + shell.RunInteractiveShell("go run " .. buf.Path, true, false) end end - -BindKey("CtrlR", "init.gorun") ``` -Alternatively, you could get rid of the `BindKey` line, and put this line in the +Alternatively, you could get rid of the `TryBindKey` line, and put this line in the `bindings.json` file: ```json { - "CtrlR": "init.gorun" + "CtrlR": "lua:initlua.gorun" } ```