3 Micro stores all of the user configuration in its configuration directory.
5 Micro uses the `$XDG_CONFIG_HOME/micro` as the configuration directory. As per
6 the XDG spec, if `$XDG_CONFIG_HOME` is not set, `~/.config/micro` is used as
9 Here are the options that you can set:
11 * `colorscheme`: loads the colorscheme stored in
12 $(configDir)/colorschemes/`option`.micro
13 This setting is `global only`.
15 default value: `default`
16 Note that the default colorschemes (default, solarized, and solarized-tc)
17 are not located in configDir, because they are embedded in the micro binary.
19 The colorscheme can be selected from all the files in the
20 ~/.config/micro/colorschemes/ directory. Micro comes by default with three
23 You can read more about micro's colorschemes in the `colors` help topic
26 * `colorcolumn`: if this is not set to 0, it will display a column at the specified
27 column. This is useful if you want column 80 to be highlighted special for example.
31 * `eofnewline`: micro will automatically add a newline to the file.
33 default value: `false`
35 * `rmtrailingws`: micro will automatically trim trailing whitespaces at eol.
37 default value: `false`
39 * `tabsize`: sets the tab size to `option`
43 * `indentchar`: sets the indentation character
47 * `infobar`: enables the line at the bottom of the editor where messages are printed.
48 This option is `global only`.
52 * `filetype`: sets the filetype for the current buffer. This setting is `local only`
54 default value: this will be automatically set depending on the file you have open
56 * `ignorecase`: perform case-insensitive searches
60 * `syntax`: turns syntax on or off
64 * `tabstospaces`: use spaces instead of tabs
68 * `autoindent`: when creating a new line use the same indentation as the
73 * `cursorline`: highlight the line that the cursor is on in a different color
74 (the color is defined by the colorscheme you are using)
78 * `ruler`: display line numbers
82 * `statusline`: display the status line at the bottom of the screen
86 * `savecursor`: remember where the cursor was last time the file was opened and
87 put it there when you open the file again
91 * `saveundo`: when this option is on, undo is saved even after you close a file
92 so if you close and reopen a file, you can keep undoing
96 * `scrollmargin`: amount of lines you would like to see above and below the cursor
100 * `scrollspeed`: amount of lines to scroll for one scroll event
104 * `softwrap`: should micro wrap lines that are too long to fit on the screen
108 * `splitRight`: when a vertical split is created, should it be created to the right of
113 * `splitBottom`: when a horizontal split is created, should it be created below the
118 * `autosave`: micro will save the buffer every 8 seconds automatically.
119 Micro also will automatically save and quit when you exit without asking.
120 Be careful when using this feature, because you might accidentally save a file,
121 overwriting what was there before.
125 * `pluginchannels`: contains all the channels micro's plugin manager will search
126 for plugins in. A channel is simply a list of 'repository' json files which contain
127 metadata about the given plugin. See the `Plugin Manager` section of the `plugins` help topic
128 for more information.
130 default value: `https://github.com/micro-editor/plugin-channel`
132 * `pluginrepos`: contains all the 'repositories' micro's plugin manager will search for
133 plugins in. A repository consists of a `repo.json` file which contains metadata for a
138 * `useprimary` (only useful on Linux): defines whether or not micro will use the primary clipboard to copy selections
139 in the background. This does not affect the normal clipboard using Ctrl-C and Ctrl-V.
145 Default plugin options:
147 * `autoclose`: Automatically close `{}` `()` `[]` `""` `''`. Provided by the `autoclose` plugin
151 * `linter`: Automatically lint when the file is saved. Provided by the `linter` plugin
155 Any option you set in the editor will be saved to the file
156 ~/.config/micro/settings.json so, in effect, your configuration file will be
157 created for you. If you'd like to take your configuration with you to another
158 machine, simply copy the settings.json to the other machine.
160 # Global and local settings
162 You can set these settings either globally or locally. Locally means that the setting
163 won't be saved to `~/.config/micro/settings.json` and that it will only be set in
164 the current buffer. Setting an option globally is the default, and will set the option
167 The `colorscheme` option is global only, and the `filetype` option is local only. To
168 set an option locally, use `setlocal` instead of `set`.
170 In the `settings.json` file you can also put set options locally by specifying a glob.
171 Here is an example which has `tabstospaces` on for all files except Go files, and
172 `tabsize` 4 for all files except Ruby files:
177 "tabstospaces": false
182 "tabstospaces": true,
187 As you can see it is quite easy to set options locally using the `settings.json` file.