#kakoune #plugin #tabs

app kak-tabs

kakoune tabs

4 releases

0.1.7 Nov 7, 2023
0.1.6 Nov 2, 2023
0.1.4 May 5, 2023
0.1.0 May 2, 2023

#8 in #kakoune

Download history 3/week @ 2023-07-26 1/week @ 2023-08-02 4/week @ 2023-08-09 6/week @ 2023-08-16 2/week @ 2023-08-23 7/week @ 2023-09-06 2/week @ 2023-09-13 1/week @ 2023-09-20 3/week @ 2023-09-27 1/week @ 2023-10-04 2/week @ 2023-10-25 44/week @ 2023-11-01 15/week @ 2023-11-08

61 downloads per month

CC0 license

273 lines


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


Example Configuration

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
      • this will cause tabs to show as little of their paths as possible while still being unique. For example, if the currently open buffers are
        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.


  1. Install the rc/tabs.kak so your kakoune instance auto-loads it.
  2. Install the kak-tabs rust crate.


Originally inspired by Delapouite's kakoune-buffers.

Warning This plugin is incompatible with powerline.kak, see here for why.


~38K SLoC