home/doc/manpages/options.asciidoc

172 lines
5.4 KiB
Plaintext
Raw Normal View History

KAKOUNE(1)
==========
NAME
----
options - a
Types
-----
*int*::
an integer number
*bool*::
a boolean value, yes/true or no/false
*str*::
a string, some freeform text
*coord*::
a line, column pair (separated by comma)
*regex*::
2016-02-10 22:03:49 +01:00
as a string but the set commands will complain if the entered text
is not a valid regex
*int-list*, *str-list*::
2016-02-10 22:03:49 +01:00
a list, elements are separated by a colon (:) if an element needs
to contain a colon, it can be escaped
with a backslash
*range-faces*::
a `:` separated list of a pairs of a buffer range
(`<begin line>.<begin column>,<end line>.<end column>`) and a face
(separated by `|`), except for the first element which is just the
timestamp of the buffer.
*completions*::
a `:` separated list of `<text>|<docstring>|<menu text>`
candidates, except for the first element which follows the
`<line>.<column>[+<length>]@<timestamp>` format to define where the
completion apply in the buffer.
*enum(value1|value2|...)*::
an enum, taking one of the given values
*flags(value1|value2|...)*::
2016-02-10 22:03:49 +01:00
a set of flags, taking a combination of the given values joined by a
'|' character
Scopes
------
*window*::
context linked to the window displaying a buffer
*buffer*::
context linked directly to the buffer
*global*::
global context linked to the instance of Kakoune
2016-02-10 22:03:49 +01:00
Options can have individual values that change from one scope to the other,
which will be considered one after another in the following order: *window*
→ *buffer* → *global*. That means that two windows on the same buffer
can use different options (e.g. different *filetype*). However some options
might end up being ignored if their scope is not in the command context.
For example, writing a file never uses the *window* scope when considering
options, so any option related to writing won't be taken into account if
set in the *window* scope (e.g. *BOM*, *eolformat*).
Builtin options
---------------
*tabstop* 'int'::
width of a tab character
*indentwidth* 'int'::
width (in spaces) used for indentation, 0 means a tab character
*scrolloff* 'coord'::
2016-02-10 22:03:49 +01:00
number of lines, columns to keep visible around the cursor when
scrolling
*eolformat* 'enum(lf|crlf)'::
2016-02-10 22:03:49 +01:00
the format of end of lines when writing a buffer, this is autodetected
on load
*BOM* 'enum(none|utf8)'::
define if the file should be written with an unicode byte order mark
*readonly* 'bool'::
prevent modifications from being saved to disk, all
buffers if set to `true` in the `global` scope, or current buffer if set in
the `buffer` scope.
*incsearch* 'bool'::
execute search as it is typed
*aligntab* 'bool'::
2016-04-08 18:00:24 +02:00
use tabs for alignment command
*autoinfo* 'flags(command|onkey|normal)'::
display automatic information box in the enabled contexts
*autoshowcompl* 'bool'::
automatically display possible completions when editing a prompt
*ignored_files* 'regex'::
2016-02-10 22:03:49 +01:00
filenames matching this regex wont be considered as candidates on
filename completion (except if the text being completed already
matches it)
*disabled_hooks* 'regex'::
2016-02-10 22:03:49 +01:00
hooks whose group matches this regex wont be executed. For example
indentation hooks can be disabled with '.*-indent'
*filetype* 'str'::
2016-02-10 22:03:49 +01:00
arbitrary string defining the type of the file filetype dependant
actions should hook on this option changing for activation/deactivation
*path* 'str-list'::
directories to search for gf command
*completers* 'str-list'::
2016-02-10 22:03:49 +01:00
completion engines to use for insert mode completion (they are tried
in order until one generates candidates). Existing completers are:
*word=all*, *word=buffer*:::
2016-02-10 22:03:49 +01:00
which complete using words in all buffers (*word=all*)
or only the current one (*word=buffer*)
*filename*:::
2016-02-10 22:03:49 +01:00
which tries to detect when a filename is being entered and
provides completion based on local filesystem
*option=<opt-name>*:::
where *opt-name* is a 'completions' option.
*static_words* 'str-list'::
list of words that are always added to completion candidates
when completing words in insert mode
*completions_extra_word_chars* 'str'::
a string containing all additional character that should be considered
as word character for the purpose of insert mode completion.
*autoreload* 'enum(yes|no|ask)'::
auto reload the buffers when an external modification is detected
*debug* 'flags(hooks|shell|profile)'::
dump various debug information in the '\*debug*' buffer
*idle_timeout* 'int'::
timeout, in milliseconds, with no user input that will trigger the
*InsertIdle* and *NormalIdle* hooks.
*fs_checkout_timeout* 'int'::
timeout, in milliseconds, between checks in normal mode of modifications
of the file associated with the current buffer on the filesystem.
*modelinefmt* 'string'::
2016-02-10 22:03:49 +01:00
A format string used to generate the mode line, that string is first
expanded as a command line would be (expanding '%...{...}' strings),
then markup tags are applied (c.f. the 'Expansions' documentation page)
*ui_options*::
2016-02-10 22:03:49 +01:00
colon separated list of key=value pairs that are forwarded to the user
interface implementation. The NCurses UI support the following options:
*ncurses_set_title*:::
2016-02-10 22:03:49 +01:00
if *yes* or *true*, the terminal emulator title will
be changed
*ncurses_status_on_top*:::
2016-02-10 22:03:49 +01:00
if *yes*, or *true* the status line will be placed
at the top of the terminal rather than at the bottom
*ncurses_assistant*:::
2016-02-10 22:03:49 +01:00
specify the nice assistant you get in info boxes,
can be *clippy* (the default), *cat* or *none*
*ncurses_wheel_down_button*, *ncurses_wheel_up_button*:::
specify which button send for wheel down/up events