2017-10-11 16:16:53 +03:00
|
|
|
# Options
|
2016-07-28 22:52:31 +03:00
|
|
|
|
|
|
|
Micro stores all of the user configuration in its configuration directory.
|
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
Micro uses `$MICRO_CONFIG_HOME` as the configuration directory. If this
|
|
|
|
environment variable is not set, it uses `$XDG_CONFIG_HOME/micro` instead. If
|
|
|
|
that environment variable is not set, it uses `~/.config/micro` as the
|
|
|
|
configuration directory. In the documentation, we use `~/.config/micro` to
|
|
|
|
refer to the configuration directory (even if it may in fact be somewhere else
|
|
|
|
if you have set either of the above environment variables).
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
Here are the available options:
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2019-05-30 07:17:56 +03:00
|
|
|
* `autoindent`: when creating a new line, use the same indentation as the
|
2017-10-11 16:16:53 +03:00
|
|
|
previous line.
|
2017-10-11 15:43:38 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2017-10-11 15:43:38 +03:00
|
|
|
|
2020-02-10 23:07:00 +03:00
|
|
|
* `autosave`: automatically save the buffer every n seconds, where n is the
|
|
|
|
value of the autosave option. Also when quitting on a modified buffer, micro
|
|
|
|
will automatically save and quit. Be warned, this option saves the buffer
|
|
|
|
without prompting the user, so data may be overwritten. If this option is
|
|
|
|
set to `0`, no autosaving is performed.
|
|
|
|
|
|
|
|
default value: `0`
|
|
|
|
|
2020-02-12 22:15:30 +03:00
|
|
|
* `autosu`: When a file is saved that the user doesn't have permission to
|
|
|
|
modify, micro will ask if the user would like to use super user
|
|
|
|
privileges to save the file. If this option is enabled, micro will
|
|
|
|
automatically attempt to use super user privileges to save without
|
|
|
|
asking the user.
|
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2019-12-22 07:26:53 +03:00
|
|
|
* `backup`: micro will automatically keep backups of all open buffers. Backups
|
|
|
|
are stored in `~/.config/micro/backups` and are removed when the buffer is
|
|
|
|
closed cleanly. In the case of a system crash or a micro crash, the contents
|
2020-02-09 02:31:06 +03:00
|
|
|
of the buffer can be recovered automatically by opening the file that was
|
|
|
|
being edited before the crash, or manually by searching for the backup in
|
2020-06-23 00:54:56 +03:00
|
|
|
the backup directory. Backups are made in the background for newly modified
|
|
|
|
buffers every 8 seconds, or when micro detects a crash.
|
2019-12-22 07:26:53 +03:00
|
|
|
|
|
|
|
default value: `true`
|
|
|
|
|
2020-06-23 00:54:56 +03:00
|
|
|
* `backupdir`: the directory micro should place backups in. For the default
|
|
|
|
value of `""` (empty string), the backup directory will be
|
|
|
|
`ConfigDir/backups`, which is `~/.config/micro/backups` by default. The
|
|
|
|
directory specified for backups will be created if it does not exist.
|
|
|
|
|
|
|
|
default value: `""` (empty string)
|
|
|
|
|
2020-02-24 21:48:37 +03:00
|
|
|
* `basename`: in the infobar and tabbar, show only the basename of the file
|
|
|
|
being edited rather than the full path.
|
2018-01-03 06:25:55 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2018-01-03 06:25:55 +03:00
|
|
|
|
2020-07-05 03:00:39 +03:00
|
|
|
* `clipboard`: specifies how micro should access the system clipboard.
|
|
|
|
Possible values are:
|
|
|
|
* `external`: accesses clipboard via an external tool, such as xclip/xsel
|
|
|
|
or wl-clipboard on Linux, pbcopy/pbpaste on MacOS, and system calls on
|
|
|
|
Windows. On Linux, if you do not have one of the tools installed, or if
|
|
|
|
they are not working, micro will throw an error and use an internal
|
|
|
|
clipboard.
|
|
|
|
* `terminal`: accesses the clipboard via your terminal emulator. Note that
|
|
|
|
there is limited support among terminal emulators for this feature
|
|
|
|
(called OSC 52). Terminals that are known to work are Kitty (enable
|
2020-07-05 03:06:37 +03:00
|
|
|
reading with `clipboard_control` setting), iTerm2 (only copying),
|
2020-07-05 03:00:39 +03:00
|
|
|
st, rxvt-unicode and xterm if enabled (see `> help copypaste` for
|
|
|
|
details). Note that Gnome-terminal does not support this feature. With
|
|
|
|
this setting, copy-paste **will** work over ssh. See `> help copypaste`
|
|
|
|
for details.
|
|
|
|
* `internal`: micro will use an internal clipboard.
|
|
|
|
|
|
|
|
default value: `external`
|
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `colorcolumn`: if this is not set to 0, it will display a column at the
|
2020-06-23 00:54:56 +03:00
|
|
|
specified column. This is useful if you want column 80 to be highlighted
|
|
|
|
special for example.
|
2017-10-11 15:43:38 +03:00
|
|
|
|
|
|
|
default value: `0`
|
|
|
|
|
2016-07-28 22:52:31 +03:00
|
|
|
* `colorscheme`: loads the colorscheme stored in
|
2017-10-11 16:16:53 +03:00
|
|
|
$(configDir)/colorschemes/`option`.micro, This setting is `global only`.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
|
|
|
default value: `default`
|
2017-10-11 16:16:53 +03:00
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
Note that the default colorschemes (default, solarized, and solarized-tc)
|
|
|
|
are not located in configDir, because they are embedded in the micro
|
|
|
|
binary.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
|
|
|
The colorscheme can be selected from all the files in the
|
2022-07-24 23:56:11 +03:00
|
|
|
~/.config/micro/colorschemes/ directory. Micro comes by default with
|
|
|
|
three colorschemes:
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
You can read more about micro's colorschemes in the `colors` help topic
|
|
|
|
(`help colors`).
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2017-10-11 15:43:38 +03:00
|
|
|
* `cursorline`: highlight the line that the cursor is on in a different color
|
2017-10-11 16:16:53 +03:00
|
|
|
(the color is defined by the colorscheme you are using).
|
2016-09-08 00:17:51 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2016-09-08 00:17:51 +03:00
|
|
|
|
2020-02-08 10:56:24 +03:00
|
|
|
* `diffgutter`: display diff indicators before lines.
|
|
|
|
|
2020-02-10 08:30:13 +03:00
|
|
|
default value: `false`
|
2020-02-08 10:56:24 +03:00
|
|
|
|
2020-05-21 21:35:54 +03:00
|
|
|
* `divchars`: specifies the "divider" characters used for the dividing line
|
|
|
|
between vertical/horizontal splits. The first character is for vertical
|
|
|
|
dividers, and the second is for horizontal dividers. By default, for
|
|
|
|
horizontal splits the statusline serves as a divider, but if the statusline
|
|
|
|
is disabled the horizontal divider character will be used.
|
|
|
|
|
|
|
|
default value: `|-`
|
|
|
|
|
|
|
|
* `divreverse`: colorschemes provide the color (foreground and background) for
|
|
|
|
the characters displayed in split dividers. With this option enabled, the
|
|
|
|
colors specified by the colorscheme will be reversed (foreground and
|
|
|
|
background colors swapped).
|
|
|
|
|
|
|
|
default value: `true`
|
|
|
|
|
2019-06-16 05:08:10 +03:00
|
|
|
* `encoding`: the encoding to open and save files with. Supported encodings
|
|
|
|
are listed at https://www.w3.org/TR/encoding/.
|
|
|
|
|
|
|
|
default value: `utf-8`
|
|
|
|
|
2020-02-25 06:31:05 +03:00
|
|
|
* `eofnewline`: micro will automatically add a newline to the end of the
|
|
|
|
file if one does not exist.
|
2016-10-24 01:37:29 +03:00
|
|
|
|
2020-02-25 06:31:05 +03:00
|
|
|
default value: `true`
|
2016-10-24 01:37:29 +03:00
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
* `fastdirty`: this determines what kind of algorithm micro uses to determine
|
|
|
|
if a buffer is modified or not. When `fastdirty` is on, micro just uses a
|
2017-10-11 16:16:53 +03:00
|
|
|
boolean `modified` that is set to `true` as soon as the user makes an edit.
|
|
|
|
This is fast, but can be inaccurate. If `fastdirty` is off, then micro will
|
2020-02-09 02:31:06 +03:00
|
|
|
hash the current buffer against a hash of the original file (created when
|
|
|
|
the buffer was loaded). This is more accurate but obviously more resource
|
2020-02-14 04:51:56 +03:00
|
|
|
intensive. This option will be automatically disabled if the file size
|
|
|
|
exceeds 50KB.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2020-02-14 04:51:56 +03:00
|
|
|
default value: `false`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
* `fileformat`: this determines what kind of line endings micro will use for
|
2020-06-06 22:56:13 +03:00
|
|
|
the file. Unix line endings are just `\n` (linefeed) whereas dos line
|
2020-02-09 02:31:06 +03:00
|
|
|
endings are `\r\n` (carriage return + linefeed). The two possible values for
|
|
|
|
this option are `unix` and `dos`. The fileformat will be automatically
|
|
|
|
detected (when you open an existing file) and displayed on the statusline,
|
|
|
|
but this option is useful if you would like to change the line endings or if
|
2020-06-06 22:56:13 +03:00
|
|
|
you are starting a new file. Changing this option while editing a file will
|
|
|
|
change its line endings. Opening a file with this option set will only have
|
|
|
|
an effect if the file is empty/newly created, because otherwise the fileformat
|
|
|
|
will be automatically detected from the existing line endings.
|
2016-08-31 18:16:22 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
default value: `unix`
|
2016-08-31 18:16:22 +03:00
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
* `filetype`: sets the filetype for the current buffer. Set this option to
|
|
|
|
`off` to completely disable filetype detection.
|
2016-08-26 00:24:13 +03:00
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
default value: `unknown`. This will be automatically overridden depending
|
|
|
|
on the file you open.
|
2016-08-26 00:24:13 +03:00
|
|
|
|
2021-09-28 23:39:03 +03:00
|
|
|
* `hlsearch`: highlight all instances of the searched text after a successful
|
2022-07-24 23:56:11 +03:00
|
|
|
search. This highlighting can be temporarily turned off via the
|
|
|
|
`UnhighlightSearch` action (triggered by the Esc key by default) or toggled
|
|
|
|
on/off via the `ToggleHighlightSearch` action. Note that these actions don't
|
|
|
|
change the `hlsearch` setting. As long as `hlsearch` is set to true, the next
|
|
|
|
search will have the highlighting turned on again.
|
2021-09-28 23:39:03 +03:00
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2021-01-27 21:49:38 +03:00
|
|
|
* `incsearch`: enable incremental search in "Find" prompt (matching as you type).
|
2021-01-04 09:59:45 +03:00
|
|
|
|
|
|
|
default value: `true`
|
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `ignorecase`: perform case-insensitive searches.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2020-11-05 23:39:05 +03:00
|
|
|
default value: `true`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2021-11-02 23:26:14 +03:00
|
|
|
* `indentchar`: sets the indentation character. This will not be inserted into
|
|
|
|
files; it is only a visual indicator that whitespace is present. If set to a
|
|
|
|
printing character, it functions as a subset of the "show invisibles"
|
|
|
|
setting available in many other text editors. The color of this character is
|
|
|
|
determined by the `indent-char` field in the current theme rather than the
|
|
|
|
default text color.
|
2017-10-11 15:43:38 +03:00
|
|
|
|
2019-05-30 07:17:56 +03:00
|
|
|
default value: ` ` (space)
|
2017-10-11 15:43:38 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `infobar`: enables the line at the bottom of the editor where messages are
|
|
|
|
printed. This option is `global only`.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `keepautoindent`: when using autoindent, whitespace is added for you. This
|
|
|
|
option determines if when you move to the next line without any insertions
|
2020-02-09 02:31:06 +03:00
|
|
|
the whitespace that was added should be deleted to remove trailing
|
|
|
|
whitespace. By default, the autoindent whitespace is deleted if the line
|
|
|
|
was left empty.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `keymenu`: display the nano-style key menu at the bottom of the screen. Note
|
|
|
|
that ToggleKeyMenu is bound to `Alt-g` by default and this is displayed in
|
|
|
|
the statusline. To disable this, simply by `Alt-g` to `UnbindKey`.
|
2017-05-05 19:04:18 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2017-05-05 19:04:18 +03:00
|
|
|
|
2019-08-05 01:11:09 +03:00
|
|
|
* `matchbrace`: underline matching braces for '()', '{}', '[]' when the cursor
|
|
|
|
is on a brace character.
|
2019-06-16 05:08:10 +03:00
|
|
|
|
2019-08-05 01:11:09 +03:00
|
|
|
default value: `true`
|
2019-06-16 05:08:10 +03:00
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
* `mkparents`: if a file is opened on a path that does not exist, the file
|
|
|
|
cannot be saved because the parent directories don't exist. This option lets
|
|
|
|
micro automatically create the parent directories in such a situation.
|
2019-08-05 00:22:24 +03:00
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2020-01-05 21:21:46 +03:00
|
|
|
* `mouse`: mouse support. When mouse support is disabled,
|
2017-10-11 16:16:53 +03:00
|
|
|
usually the terminal will be able to access mouse events which can be useful
|
|
|
|
if you want to copy from the terminal instead of from micro (if over ssh for
|
|
|
|
example, because the terminal has access to the local clipboard and micro
|
|
|
|
does not).
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2023-01-25 04:06:52 +03:00
|
|
|
* `multiopen`: specifies how to layout multiple files opened at startup.
|
|
|
|
Most useful as a command-line option, like `-multiopen vsplit`. Possible
|
2023-01-23 22:13:42 +03:00
|
|
|
values correspond to commands (see `> help commands`) that open files:
|
|
|
|
* `tab`: open each file in a separate tab.
|
|
|
|
* `vsplit`: open files side-by-side.
|
|
|
|
* `hsplit`: open files stacked top to bottom.
|
|
|
|
|
|
|
|
default value: `tab`
|
|
|
|
|
2020-05-29 21:55:24 +03:00
|
|
|
* `paste`: treat characters sent from the terminal in a single chunk as a paste
|
2020-01-05 21:21:46 +03:00
|
|
|
event rather than a series of manual key presses. If you are pasting using
|
2020-02-09 02:31:06 +03:00
|
|
|
the terminal keybinding (not Ctrl-v, which is micro's default paste
|
|
|
|
keybinding) then it is a good idea to enable this option during the paste
|
|
|
|
and disable once the paste is over. See `> help copypaste` for details about
|
|
|
|
copying and pasting in a terminal environment.
|
2020-01-05 21:21:46 +03:00
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2020-05-29 21:55:24 +03:00
|
|
|
* `parsecursor`: if enabled, this will cause micro to parse filenames such as
|
|
|
|
file.txt:10:5 as requesting to open `file.txt` with the cursor at line 10
|
|
|
|
and column 5. The column number can also be dropped to open the file at a
|
|
|
|
given line and column 0. Note that with this option enabled it is not possible
|
|
|
|
to open a file such as `file.txt:10:5`, where `:10:5` is part of the filename.
|
|
|
|
It is also possible to open a file with a certain cursor location by using the
|
2022-02-15 00:32:46 +03:00
|
|
|
`+LINE:COL` flag syntax. See `micro -help` for the command line options.
|
2020-05-29 21:55:24 +03:00
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2020-06-23 00:54:56 +03:00
|
|
|
* `permbackup`: this option causes backups (see `backup` option) to be
|
|
|
|
permanently saved. With permanent backups, micro will not remove backups when
|
|
|
|
files are closed and will never apply them to existing files. Use this option
|
|
|
|
if you are interested in manually managing your backup files.
|
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2020-02-10 23:07:00 +03:00
|
|
|
* `pluginchannels`: list of URLs pointing to plugin channels for downloading and
|
|
|
|
installing plugins. A plugin channel consists of a json file with links to
|
|
|
|
plugin repos, which store information about plugin versions and download URLs.
|
|
|
|
By default, this option points to the official plugin channel hosted on GitHub
|
|
|
|
at https://github.com/micro-editor/plugin-channel.
|
|
|
|
|
2020-09-24 04:54:25 +03:00
|
|
|
default value: `https://raw.githubusercontent.com/micro-editor/plugin-channel/master/channel.json`
|
2020-02-10 23:07:00 +03:00
|
|
|
|
|
|
|
* `pluginrepos`: a list of links to plugin repositories.
|
|
|
|
|
|
|
|
default value: ``
|
|
|
|
|
2020-01-05 21:21:46 +03:00
|
|
|
* `readonly`: when enabled, disallows edits to the buffer. It is recommended
|
|
|
|
to only ever set this option locally using `setlocal`.
|
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `rmtrailingws`: micro will automatically trim trailing whitespaces at ends of
|
2021-11-02 23:26:14 +03:00
|
|
|
lines. Note: This setting overrides `keepautoindent`
|
2017-10-11 15:43:38 +03:00
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `ruler`: display line numbers.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2022-07-24 23:56:11 +03:00
|
|
|
* `relativeruler`: make line numbers display relatively. If set to true, all
|
|
|
|
lines except for the line that the cursor is located will display the distance
|
|
|
|
from the cursor's line.
|
2020-05-29 05:24:09 +03:00
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2016-07-28 22:52:31 +03:00
|
|
|
* `savecursor`: remember where the cursor was last time the file was opened and
|
2020-01-03 21:39:39 +03:00
|
|
|
put it there when you open the file again. Information is saved to
|
|
|
|
`~/.config/micro/buffers/`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2017-10-21 22:31:04 +03:00
|
|
|
* `savehistory`: remember command history between closing and re-opening
|
2020-01-03 21:39:39 +03:00
|
|
|
micro. Information is saved to `~/.config/micro/buffers/history`.
|
2017-10-21 22:31:04 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2017-10-21 22:31:04 +03:00
|
|
|
|
2016-07-28 22:52:31 +03:00
|
|
|
* `saveundo`: when this option is on, undo is saved even after you close a file
|
2020-01-03 21:39:39 +03:00
|
|
|
so if you close and reopen a file, you can keep undoing. Information is
|
|
|
|
saved to `~/.config/micro/buffers/`.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2016-07-28 22:52:31 +03:00
|
|
|
|
2017-11-06 04:07:14 +03:00
|
|
|
* `scrollbar`: display a scroll bar
|
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2017-11-06 04:07:14 +03:00
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `scrollmargin`: margin at which the view starts scrolling when the cursor
|
|
|
|
approaches the edge of the view.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
|
|
|
default value: `3`
|
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `scrollspeed`: amount of lines to scroll for one scroll event.
|
2016-07-28 22:52:31 +03:00
|
|
|
|
|
|
|
default value: `2`
|
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `smartpaste`: add leading whitespace when pasting multiple lines.
|
2018-08-18 05:37:19 +03:00
|
|
|
This will attempt to preserve the current indentation level when pasting an
|
|
|
|
unindented block.
|
|
|
|
|
|
|
|
default value: `true`
|
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `softwrap`: wrap lines that are too long to fit on the screen.
|
2016-10-12 23:34:34 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2016-10-12 23:34:34 +03:00
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `splitbottom`: when a horizontal split is created, create it below the
|
|
|
|
current split.
|
2016-11-29 03:16:49 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2016-11-29 03:16:49 +03:00
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `splitright`: when a vertical split is created, create it to the right of the
|
|
|
|
current split.
|
2016-10-06 01:26:41 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2016-10-06 01:26:41 +03:00
|
|
|
|
2019-06-17 00:35:00 +03:00
|
|
|
* `statusformatl`: format string definition for the left-justified part of the
|
|
|
|
statusline. Special directives should be placed inside `$()`. Special
|
2022-07-24 23:56:11 +03:00
|
|
|
directives include: `filename`, `modified`, `line`, `col`, `lines`,
|
|
|
|
`percentage`, `opt`, `bind`.
|
2019-06-17 00:35:00 +03:00
|
|
|
The `opt` and `bind` directives take either an option or an action afterward
|
|
|
|
and fill in the value of the option or the key bound to the action.
|
|
|
|
|
2020-02-07 19:32:12 +03:00
|
|
|
default value: `$(filename) $(modified)($(line),$(col)) $(status.paste)|
|
|
|
|
ft:$(opt:filetype) | $(opt:fileformat) | $(opt:encoding)`
|
2019-06-17 00:35:00 +03:00
|
|
|
|
2020-01-27 05:39:10 +03:00
|
|
|
* `statusformatr`: format string definition for the right-justified part of the
|
2019-06-17 00:35:00 +03:00
|
|
|
statusline.
|
|
|
|
|
2020-01-27 05:39:10 +03:00
|
|
|
default value: `$(bind:ToggleKeyMenu): bindings, $(bind:ToggleHelp): help`
|
2019-06-17 00:35:00 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `statusline`: display the status line at the bottom of the screen.
|
2016-10-06 01:26:41 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2017-02-08 03:21:25 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `sucmd`: specifies the super user command. On most systems this is "sudo" but
|
|
|
|
on BSD it can be "doas." This option can be customized and is only used when
|
|
|
|
saving with su.
|
2017-03-27 20:22:34 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
default value: `sudo`
|
2017-03-27 20:22:34 +03:00
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `syntax`: enables syntax highlighting.
|
2019-06-16 05:08:10 +03:00
|
|
|
|
|
|
|
default value: `true`
|
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
* `tabmovement`: navigate spaces at the beginning of lines as if they are tabs
|
|
|
|
(e.g. move over 4 spaces at once). This option only does anything if
|
|
|
|
`tabstospaces` is on.
|
2017-04-29 23:01:09 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2017-04-29 23:01:09 +03:00
|
|
|
|
2022-07-24 23:56:11 +03:00
|
|
|
* `tabhighlight`: inverts the tab characters' (filename, save indicator, etc)
|
|
|
|
colors with respect to the tab bar.
|
2022-07-17 22:18:11 +03:00
|
|
|
|
|
|
|
default value: false
|
|
|
|
|
|
|
|
* `tabreverse`: reverses the tab bar colors when active.
|
|
|
|
|
|
|
|
default value: true
|
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `tabsize`: the size in spaces that a tab character should be displayed with.
|
2017-09-18 06:33:18 +03:00
|
|
|
|
2017-10-11 15:43:38 +03:00
|
|
|
default value: `4`
|
2017-09-18 06:33:18 +03:00
|
|
|
|
2022-02-12 01:15:26 +03:00
|
|
|
* `tabstospaces`: use spaces instead of tabs. Note: This option will be
|
|
|
|
overridden by [the `ftoptions` plugin](https://github.com/zyedidia/micro/blob/master/runtime/plugins/ftoptions/ftoptions.lua)
|
|
|
|
for certain filetypes. To disable this behavior, add `"ftoptions": false` to
|
|
|
|
your config. See [issue #2213](https://github.com/zyedidia/micro/issues/2213)
|
|
|
|
for more details.
|
2017-09-18 06:33:18 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `false`
|
2017-09-18 06:33:18 +03:00
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
* `useprimary` (only useful on unix): defines whether or not micro will use the
|
2017-10-11 16:16:53 +03:00
|
|
|
primary clipboard to copy selections in the background. This does not affect
|
2020-01-03 21:39:39 +03:00
|
|
|
the normal clipboard using Ctrl-c and Ctrl-v.
|
2017-10-03 06:44:11 +03:00
|
|
|
|
2018-01-08 23:21:32 +03:00
|
|
|
default value: `true`
|
2017-10-03 06:44:11 +03:00
|
|
|
|
2021-03-18 00:34:30 +03:00
|
|
|
* `wordwrap`: wrap long lines by words, i.e. break at spaces. This option
|
|
|
|
only does anything if `softwrap` is on.
|
|
|
|
|
|
|
|
default value: `false`
|
|
|
|
|
2020-02-15 20:53:17 +03:00
|
|
|
* `xterm`: micro will assume that the terminal it is running in conforms to
|
|
|
|
`xterm-256color` regardless of what the `$TERM` variable actually contains.
|
|
|
|
Enabling this option may cause unwanted effects if your terminal in fact
|
|
|
|
does not conform to the `xterm-256color` standard.
|
|
|
|
|
|
|
|
Default value: `false`
|
|
|
|
|
2016-07-28 22:52:31 +03:00
|
|
|
---
|
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
Plugin options: all plugins come with a special option to enable or disable
|
|
|
|
them. The option is a boolean with the same name as the plugin itself.
|
2017-10-11 15:43:38 +03:00
|
|
|
|
2020-02-12 23:34:13 +03:00
|
|
|
By default, the following plugins are provided, each with an option to enable
|
|
|
|
or disable them:
|
|
|
|
|
|
|
|
* `autoclose`: automatically closes brackets, quotes, etc...
|
|
|
|
* `comment`: provides automatic commenting for a number of languages
|
|
|
|
* `ftoptions`: alters some default options depending on the filetype
|
|
|
|
* `linter`: provides extensible linting for many languages
|
|
|
|
* `literate`: provides advanced syntax highlighting for the Literate
|
|
|
|
programming tool.
|
|
|
|
* `status`: provides some extensions to the status line (integration with
|
|
|
|
Git and more).
|
|
|
|
* `diff`: integrates the `diffgutter` option with Git. If you are in a Git
|
|
|
|
directory, the diff gutter will show changes with respect to the most
|
|
|
|
recent Git commit rather than the diff since opening the file.
|
|
|
|
|
2020-01-03 21:39:39 +03:00
|
|
|
Any option you set in the editor will be saved to the file
|
2016-07-28 22:52:31 +03:00
|
|
|
~/.config/micro/settings.json so, in effect, your configuration file will be
|
|
|
|
created for you. If you'd like to take your configuration with you to another
|
|
|
|
machine, simply copy the settings.json to the other machine.
|
2016-08-26 00:24:13 +03:00
|
|
|
|
2020-08-11 03:34:10 +03:00
|
|
|
## Settings.json file
|
|
|
|
|
|
|
|
The settings.json file should go in your configuration directory (by default
|
|
|
|
at `~/.config/micro`), and should contain only options which have been modified
|
|
|
|
from their default setting. Here is the full list of options in json format,
|
|
|
|
so that you can see what the formatting should look like.
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"autoclose": true,
|
|
|
|
"autoindent": true,
|
|
|
|
"autosave": 0,
|
|
|
|
"autosu": false,
|
|
|
|
"backup": true,
|
|
|
|
"backupdir": "",
|
|
|
|
"basename": false,
|
|
|
|
"clipboard": "external",
|
|
|
|
"colorcolumn": 0,
|
|
|
|
"colorscheme": "default",
|
|
|
|
"comment": true,
|
|
|
|
"cursorline": true,
|
|
|
|
"diff": true,
|
|
|
|
"diffgutter": false,
|
|
|
|
"divchars": "|-",
|
|
|
|
"divreverse": true,
|
|
|
|
"encoding": "utf-8",
|
|
|
|
"eofnewline": true,
|
|
|
|
"fastdirty": false,
|
|
|
|
"fileformat": "unix",
|
|
|
|
"filetype": "unknown",
|
2021-01-27 21:49:38 +03:00
|
|
|
"incsearch": true,
|
2020-08-11 03:34:10 +03:00
|
|
|
"ftoptions": true,
|
2023-01-12 23:40:04 +03:00
|
|
|
"ignorecase": true,
|
2020-08-11 03:34:10 +03:00
|
|
|
"indentchar": " ",
|
|
|
|
"infobar": true,
|
|
|
|
"initlua": true,
|
|
|
|
"keepautoindent": false,
|
|
|
|
"keymenu": false,
|
|
|
|
"linter": true,
|
|
|
|
"literate": true,
|
|
|
|
"matchbrace": true,
|
|
|
|
"mkparents": false,
|
|
|
|
"mouse": true,
|
|
|
|
"parsecursor": false,
|
|
|
|
"paste": false,
|
|
|
|
"permbackup": false,
|
|
|
|
"pluginchannels": [
|
|
|
|
"https://raw.githubusercontent.com/micro-editor/plugin-channel/master/channel.json"
|
|
|
|
],
|
|
|
|
"pluginrepos": [],
|
|
|
|
"readonly": false,
|
|
|
|
"relativeruler": false,
|
|
|
|
"rmtrailingws": false,
|
|
|
|
"ruler": true,
|
|
|
|
"savecursor": false,
|
|
|
|
"savehistory": true,
|
|
|
|
"saveundo": false,
|
|
|
|
"scrollbar": false,
|
|
|
|
"scrollmargin": 3,
|
|
|
|
"scrollspeed": 2,
|
|
|
|
"smartpaste": true,
|
|
|
|
"softwrap": false,
|
|
|
|
"splitbottom": true,
|
|
|
|
"splitright": true,
|
|
|
|
"status": true,
|
|
|
|
"statusformatl": "$(filename) $(modified)($(line),$(col)) $(status.paste)| ft:$(opt:filetype) | $(opt:fileformat) | $(opt:encoding)",
|
|
|
|
"statusformatr": "$(bind:ToggleKeyMenu): bindings, $(bind:ToggleHelp): help",
|
|
|
|
"statusline": true,
|
|
|
|
"sucmd": "sudo",
|
|
|
|
"syntax": true,
|
|
|
|
"tabmovement": false,
|
2022-07-17 22:18:11 +03:00
|
|
|
"tabhighlight": true,
|
|
|
|
"tabreverse": false,
|
2020-08-11 03:34:10 +03:00
|
|
|
"tabsize": 4,
|
|
|
|
"tabstospaces": false,
|
|
|
|
"useprimary": true,
|
|
|
|
"xterm": false
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
## Global and local settings
|
|
|
|
|
|
|
|
You can set these settings either globally or locally. Locally means that the
|
|
|
|
setting won't be saved to `~/.config/micro/settings.json` and that it will only
|
|
|
|
be set in the current buffer. Setting an option globally is the default, and
|
2020-01-06 08:01:49 +03:00
|
|
|
will set the option in all buffers. Use the `setlocal` command to set an option
|
|
|
|
locally rather than globally.
|
2016-08-26 00:24:13 +03:00
|
|
|
|
2017-10-11 16:16:53 +03:00
|
|
|
The `colorscheme` option is global only, and the `filetype` option is local
|
|
|
|
only. To set an option locally, use `setlocal` instead of `set`.
|
2016-08-26 03:15:58 +03:00
|
|
|
|
2020-02-09 02:31:06 +03:00
|
|
|
In the `settings.json` file you can also put set options locally by specifying
|
|
|
|
either a glob or a filetype. Here is an example which has `tabstospaces` on for
|
|
|
|
all files except Go files, and `tabsize` 4 for all files except Ruby files:
|
2016-08-26 03:15:58 +03:00
|
|
|
|
2017-12-04 07:38:09 +03:00
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ft:go": {
|
|
|
|
"tabstospaces": false
|
|
|
|
},
|
|
|
|
"ft:ruby": {
|
|
|
|
"tabsize": 2
|
|
|
|
},
|
|
|
|
"tabstospaces": true,
|
|
|
|
"tabsize": 4
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
Or similarly you can match with globs:
|
|
|
|
|
2016-08-30 10:35:21 +03:00
|
|
|
```json
|
2016-08-26 03:15:58 +03:00
|
|
|
{
|
2017-10-11 16:16:53 +03:00
|
|
|
"*.go": {
|
|
|
|
"tabstospaces": false
|
|
|
|
},
|
|
|
|
"*.rb": {
|
|
|
|
"tabsize": 2
|
|
|
|
},
|
|
|
|
"tabstospaces": true,
|
|
|
|
"tabsize": 4
|
2016-08-26 03:15:58 +03:00
|
|
|
}
|
|
|
|
```
|