Hey there everyone! After many years of using Vim (and Neovim), writing a couple plugins and coming up with a setup I really liked, I recently came across Kakoune and had to give it a try. Armed with kak-lsp, I instantly knew it was going to be a great fit for the kind of setup I’ve been looking for with Vim.
While I was switching editors I decided to try an experiment and organize my config around a large collection of small plugins, and the only job of my
kakrc is to load the plugins via
require-module. Since they are pretty small & isolated I added a README and pushed them to their own Github repo for anyone else to use or learn from. Some of the plugins & their motivation are described below.
Kakoune sadly doesn’t have support for splits, at least not the way I prefer to use them. Depending on what I’m working on I might have vertical or horizontal splits; or tabs. I had already setup my preferred terminal emulator (Kitty) to use splits (and there’s no way in hell I’m going back to tmux… way too complex for just needing window management). Since Kakoune already sports great integration with Kitty I decided to take it a little further and implement splits the way Vim does them.
I’m very interested in making my splits plugins a little more reusable between the various window management solutions in the kak community; Kakoune’s
terminal API is a little too limited atm to make it fit without some modifications (ie. it doesn’t accept an argument for the split direction). I plan to start a separate discussion around that.
Another thing I missed from (Neo)vim was my Spacemacs-like keyboard shortcut groupings (ie. space+g would present a menu of Git shortcuts, space+f for file-related shortcuts, space+b for buffer-related ones, etc). I was using the vim-which-key plugin to present the menu of shortcuts, but since Kakoune already had that builtin all I had to do was define some usermodes & mappings and everything else just worked.