90 lines
3.6 KiB
Markdown
90 lines
3.6 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.
|
|
|
|
<!--toc:start-->
|
|
|
|
- [Bindings](#bindings)
|
|
- [Plugins](#plugins)
|
|
- [Self-Written](#self-written)
|
|
- [External](#external)
|
|
- [Organization](#organization)
|
|
- [Autoload](#autoload)
|
|
|
|
<!--toc:end-->
|
|
|
|
## 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.
|
|
|
|
### Self-Written
|
|
|
|
- List of self-written plugins I use. Will be updated later.
|
|
|
|
### External
|
|
|
|
- List of external plugins I use. Will be updated later.
|
|
|
|
## 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.
|
|
- `man.kak` is a patched version of standard RC `man` module.
|
|
- `notes.kak` is a copy of an external plugin.
|
|
- `paragraph.kak` provides a user mode for paragraph-related actions.
|
|
- `picker.kak` is a simple file picker.
|
|
- `plugins.kak` has setup for all plugins I install with `kak-bundle`.
|
|
- `proj.kak` implements a command for starting a documentation client and
|
|
project-specific `.kakrc.local` configurations.
|
|
- `sh.kak` provides a convenience command for running shell commands from the
|
|
prompt.
|
|
- `spell.kak` implements convenience mappings and hooks built on standard RC
|
|
`spell` module.
|
|
- `surround.kak` implements Helix-like surrounding actions.
|
|
- `swiper.kak` is an external plugin.
|
|
- `title-bar.kak` is a symlink to my plugin.
|
|
- `tree-sitter.kak` fixes tree-sitter highlighting for `kakoune-lsp` `*hover*`
|
|
buffers.
|
|
- `ui-mode.kak` provides a user mode for toggling various UI elements.
|
|
- `yazi.kak` provides `yazi` integration.
|