-
Notifications
You must be signed in to change notification settings - Fork 753
As a convention, many commands respect the toolsclient, docsclient and jumpclient options. These string options store the name of the client to use. toolsclient will be used for :make and :grep commands, when an entry is selected in them, they will try to open the file in the jumpclient client. The :man and :doc commands will display their content in the docsclient.
If neither of those options are defined, it will fallback on the current client.
Here's a small snippet you can trigger to launch multiple clients and bind them to the right options:
def ide %{
rename-client main
set global jumpclient main
new rename-client tools
set global toolsclient tools
new rename-client docs
set global docsclient docs
}
Then it's up to tmux or your window manager (dwm, i3, xmonad…) to fit them correctly on your monitor.
At times, it can be useful to override/extend your configuration based on the local directory. For example, you may want to set options only for certain projects, etc. For this, you can implement a simple .kakrc file to be run automatically when you open Kakoune inside that project.
Warning
Automatically running commands from a project can be a security risk. Please consider manually running source .kakrc instead. For an implementation that only loads .kakrc files in trusted directories, see the secure-local-kakrc plugin.
To implement naive autoloading, you may add the following snippet to your kakrc:
# Source a local project kak config if it exists
# Make sure it is set as a kak filetype
hook global BufCreate (.*/)?(\.kakrc) %{
set-option buffer filetype kak
}
try %{ source .kakrc }The Bar page explains how to add extra status bars.
- Normal mode commands
- Avoid the escape key
- Implementing user mode (Leader key)
- Kakoune explain
- Kakoune TV
