Rework Kakoune configuration loading documentation

Fixes #1063
This commit is contained in:
Maxime Coste 2017-01-05 11:28:22 +00:00
parent 306243e8d9
commit 930001c626

View File

@ -244,18 +244,36 @@ Just running *kak* launch a new kak session with a client on local terminal.
* `-clear`: clear dead sessions socket files * `-clear`: clear dead sessions socket files
* `-ro`: prevent modifications to all buffers from being saved to disk * `-ro`: prevent modifications to all buffers from being saved to disk
At startup, if `-n` is not specified, Kakoune will try to source the file Configuration
`../share/kak/kakrc` relative to the kak binary. This kak file will then try ^^^^^^^^^^^^^
to recursively source any files in `$XDG_CONFIG_HOME/kak/autoload` (with
`$XDG_CONFIG_HOME` defaulting to `$HOME/.config`, and falling back to
`../share/kak/autoload/` if that autoload directory does not exists), then
`../share/kak/kakrc.local` if it exists, and finally `$XDG_CONFIG_HOME/kak/kakrc`.
That leads to the following behaviour: by default, with no user autoload There are two directories containing Kakoune's scripts:
directory, the system wide autoload directory is used, once the user wants
control on autoloading, they can create an autoload directory and eventually * `runtime`: located in `../share/kak/` relative to the `kak` binary
symlink individual scripts, or the whole system wide autoload directory. They contains the system scripts, installed with Kakoune.
can as well add any new scripts not provided with Kakoune. * `userconf`: located in `$XDG_CONFIG_HOME/kak/`, which defaults
to `$HOME/.config/kak/` on most systems, containing the user
configuration.
When `-n` is not specified, Kakoune will load its startup script located
at `${runtime}/kakrc` relative to the `kak` binary. This startup script
is responsible for loading the user configuration.
First, Kakoune will search recursively for `.kak` files in the `autoload`
directory. It will first look for an `autoload` directory at
`${userconf}/autoload` and will fallback to `${runtime}/autoload` if
it does not exists.
Once all those files are loaded, Kakoune will try to source
`${runtime}/kakrc.local` which is expected to contain distribution provided
configuration.
And finally, the user configuration will be loaded from `${userconf}/kakrc`.
NOTE: If you create a user `autoload` directory in `${userconf}/autoload`,
the system one at `${runtime}/autoload` will not be loaded anymore. You can
add a symbolic link to it (or to individual scripts) inside
`${userconf}/autoload` to keep loading system scripts.
Basic Interaction Basic Interaction
----------------- -----------------