dotfiles/.config/kak/README.md

53 lines
2.3 KiB
Markdown

<h1>Daniel's Personal `kakrc`</h1>
This is my personal Kakoune configuration. I use autoyadm to keep the upstream
repository up-to-date. I'll do my best to document everything, but note that
this document may be out-of-date at any given time -- my configuration tends to
evolve quickly.
## Bindings
I type on the Colemak-DH layout. [autoload/colemak.kak](./autoload/colemak.kak)
rebinds many default keys. If the bindings in `kakrc` seem strange, that's why.
## Plugins
I use `kak-bundle` to install some external plugins. Many others, I simply copy
the upstream code directly into my config. Some plugins I've written myself have
been separated into other repositories. Check
[git.sr.ht/~ficd](https://git.sr.ht/~ficd) to find them.
## Organization
- `kakrc` mainly contains mappings, utility commands, and setup that depends on
plugins/modules from `autoload` being present. (_`autoload` doesn't guarantee
any load order_).
- [`scripts`](./scripts) contains scripts written in formats other than Kakoune.
- [`autoload`](#autoload) contains everything that isn't in `kakrc`.
### Autoload
- `stdlib` contains symlinks to the standard RC in `/usr/share/kak/rc`. The
reason I don't symlink then entire directory is to retain control over which
files are actually loaded, in case I want to override any.
- `detection` contains patched versions of standard RC files.
- `filetype` contains custom filetype support.
- `fishr` is a module for writing expansions in `fish` shell.
- `bootstrap.kak` installs external dependencies of my configuration. Untested
and likely out-of-date.
- `byline.kak` is a fork of a plugin adding Helix-like `x` and `X` commands.
- `clipboard.kak` has `wl-clipboard` integration.
- `colemak.kak` rebinds defaults according to my preferences as a Colemak-DH
user.
- `filetype.kak` contains some filetype-specific logic like setting up
formatters.
- `format.kak` is my patch of the standard RC formatter.
- `git-mode.kak` has Git-related commands and bindings.
- `grep.kak` has some convenience functionality built on standard RC `grep`
module.
- `helix-scroll.kak` improves the `<c-u>` command.
- `hop.kak` setup for the `hop.kak` plugin.
- `hump.kak` modified external plugin.
- `insert-mode.kak` defines convenience mappings for insert mode.
- `lsp.kak` contains my `kakoune-lsp` configuration with some custom logic and
functions.