IDE - mawww/kakoune GitHub Wiki
Use kakoune as an IDE
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.
Read local kakrc file
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 }
Buffer list
The Bar page explains how to add extra status bars.