View open buffers in status line, like tabs, and navigate between them quickly.
The recommended key bindings can be set by calling tabs-recommended-keys
:
define-command tabs-recommended-keys -docstring "set the recommended kak-tabs bindings" %{
map global normal q b
map global normal Q B
map global normal b ': enter-user-mode tabs<ret>' -docstring 'tabs'
map global normal B ': enter-user-mode -lock tabs<ret>' -docstring 'tabs (lock)'
}
Within the tabs
mode, the keybindings are as follows:
a: ↔ (alternate) return to the previously focused buffer
h: ← (previous) navigate to the buffer on the left
l: → (next) navigate to the buffer on the right
s: (*scratch*) open the *scratch* buffer
u: (*debug*) open the *debug* buffer
H: ← (drag left) swap this buffer to the left
L: → (drag right) swap this buffer to the right
d: (delete current) delete the current buffer
set-option global tabs_modelinefmt '%val{cursor_line}:%val{cursor_char_column} {{mode_info}} '
set-option global tabs_options --minified
tabs_modelinefmt
: when set to a modelinefmt string, it is placed in the space preceding the tabs
tabs_options
: a list of switches that affect tabs' appearance.
--minified
projects/1/src/main.rs projects/2/src/main.rs projects/2/Cargo.toml
then the rendered tabs will be
| 1/src/main.rs | 2/src/main.rs | Cargo.toml |
because these are the smallest unique suffixes of each buffer.
rc/tabs.kak
so your kakoune instance auto-loads it.| *debug* | xml.rs | pypi/mirror/mod.rs | cargo/mirror/mod.rs | mod.rs |
| *debug* | xml.rs | mirror/mod.rs | api/mod.rs | mod.rs |
Originally inspired by Delapouite's
kakoune-buffers
.Warning This plugin is incompatible with powerline.kak, see here for why.