6个版本

0.2.1-beta2024年6月28日
0.2.0-beta2024年6月28日
0.1.7 2023年11月7日
0.1.4 2023年5月5日

#456 in 算法

Download history 137/week @ 2024-06-25 20/week @ 2024-07-02

268每月下载次数

CC0许可证

22KB
491

tabs.kak

在状态行中查看打开的缓冲区,类似于选项卡,并快速在这些缓冲区之间导航。

演示

asciicast

快捷键

推荐的关键绑定可以通过调用 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)'
}

tabs 模式内,快捷键如下

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:当设置为modelinefmt字符串时,它将放置在选项卡之前的空间中

  • tabs_options:影响选项卡外观的开关列表。

    • --minified
      • 这将使选项卡尽可能少地显示它们的路径,同时保持唯一性。例如,如果当前打开的缓冲区是
        projects/1/src/main.rs projects/2/src/main.rs projects/2/Cargo.toml
        
        那么渲染的选项卡将是
        | 1/src/main.rs | 2/src/main.rs | Cargo.toml |
        
        因为这些是每个缓冲区的最小唯一后缀。

安装

  1. 安装 rc/tabs.kak 以使您的kakoune实例自动加载它。
  2. 安装 kak-tabs Rust存储库。

待办事项

  • 选项卡的顺序会影响具有相同名称的文件区分。例如
    • 我们有一个看起来像的buflist
      • | *debug* |xml.rs|pypi/mirror/mod.rs|cargo/mirror/mod.rs| mod.rs|
    • 交换最后两个缓冲区产生以下选项卡
      • | *debug* |xml.rs|mirror/mod.rs|api/mod.rs| mod.rs|
  • 选项卡在不足够空间时应缩小
  • 添加更多缓冲区删除选项,请参阅: https://github.com/enricozb/tabs.kak/issues/3

最初灵感来源于 Delapouite的 kakoune-buffers

警告 此插件与 powerline.kak 不兼容,有关原因请参阅 此处

依赖关系

~2-3MB
~58K SLoC