#weighted #navigation #hierarchy #tui #tree

app nctok

一个用于交互式导航和分析了加权层次结构数据的程序。加权意味着每个项目都有自己的值 - 数字。

1 个不稳定版本

0.1.0 2024年4月23日

可视化类别中排名120

MIT许可协议

17KB
344

nctok

一个用于交互式导航和分析了加权层次结构数据的程序。(加权意味着每个项目都有自己的值 - 数字)

这是一个分析和研究数据集的好工具,输入格式的简洁性使得编写自己的脚本变得容易,快速产生您想要分析的数据,直接在shell中(例如文件中的某些内容、git元数据(每个文件的提交次数)等。更多请见示例部分)。

演示

文件空间使用情况

每个文件的git提交,Linux内核6.8仓库

特性

  • 交互式导航
  • 项目按递归权重总和排序
  • 接受任何来自stdin的数据,因此您可以轻松地创建自己的(请参阅示例部分)
    • 输入格式可以更改(请参阅配置部分)
  • 界面
    • 预览窗口(可切换)
    • 可读的大数字格式(可切换)

用法

... | nctok

其中...应生成以下格式的输出

<number> <path/to/item>
<number> <path/to/another_item>

有关具体用例,请参阅示例部分。

键/控制

  • j/k - 在列表中向下/向上移动
  • l/h - 向下/向上移动(内部/外部)
  • g - 移动到顶部(第一个项目)
  • G - 移动到底部(最新项目)
  • w - 切换预览窗口
  • a - 切换可读数字格式
  • q - 退出

配置

$ nctok --help
...
Options:
      --reverse  Invert sort order
Parser:
      --number-delimiter <NUMBER_DELIMITER>
          Delimiter between items number value and path [default: " "]
      --path-separator <PATH_SEPARATOR>
          Separator in items path [default: /]
Interface:
      --preview
          Show preview window for entry under cursor (can also toggle with 'w' key)
      --no-human-readable
          Disable formatting big numbers in human-readable (can also toggle with 'a' key)

示例

正在进行中

安装

使用cargo(从crates.io

cargo install nctok

从源代码

cargo install --path .

灵感来源

  • ncdu - (ncurses)磁盘使用分析器。这是主要灵感来源。我采用了他们的想法并为其创建了统一的界面,以分析任何数据,具有相同(且略好)的界面。
  • vifm - 终端文件管理器。我从它那里采用了预览窗口。
  • tokei - 代码行数计数器。嗯,最初我想体验tokei+ncdu,所以这个项目应运而生。

依赖项

~8–16MB
~191K SLoC