#文件管理器 #shell #目录 #cli #专注 #小巧 #集成

app scd

一个专注于 shell 集成的轻量级文件管理器

4 个版本

0.1.3 2020 年 5 月 8 日
0.1.2 2020 年 5 月 2 日
0.1.1 2020 年 5 月 2 日
0.1.0 2020 年 4 月 30 日

#2903 in 命令行实用程序

MIT 许可证

42KB
1K SLoC

SCD

一个专注于 shell 集成的轻量级文件管理器。

asciicast

动机

你有没有在每次输入 cd 命令后都输入 ls 命令?在一些“你用得最多的命令”调查(redditv2ex)中,ls 命令占据了相当大的比例。

显然你需要一个终端文件管理器!但是等等,看起来在进入目录后切换到一些文件管理器仍然不方便……

所以就有了 scdscd 作为一个侧边栏附加到你的终端上,这样你就不需要每次都打开它。

最重要的是,scd 的当前目录与 shell 同步。这意味着当你在 shell 中输入 cd 时,它会更新其文件列表,如果你在 scd 中进入另一个目录,shell 也会自动 cd 到它。

此外,似乎只显示当前目录中的文件太浪费了,所以,正如你所想的,我在 scd 中添加了一些资源监控功能。希望你喜欢!

安装

Cargo

cargo install scd

用法

scd 是为侧边栏设计的,所以你需要 tmuxkitty 终端来为它分割一个区域。

在侧边栏中,运行 scd 以打开主窗口。

在你的 shell 中,你需要设置一些钩子来发送 scd shell 事件

scd fish-init | source

目前仅支持 fish shell。如果你知道如何在其他 shell 中设置相同的钩子,任何贡献都受欢迎!

快捷键

退出

q

移动

  • 上:Up/k/Ctrl+p
  • 下:Down/j/Ctrl+n
  • 第一:Home/g
  • 最后:End/G

文件操作

  • 进入目录或打开文件:Enter/l
  • 进入父目录: Esc/h
  • 删除文件/目录: d
  • 重命名文件/目录: r
  • 标记文件以便复制/移动: Space
  • 在此处复制标记的文件: p
  • 在此处移动标记的文件: m

过滤

  • 切换隐藏文件: .
  • 进入过滤模式: /

过滤模式快捷键绑定

  • 移动光标: Left/Ctrl+bRight/Ctrl+fHome/C-aEnd/Ctrl+e
  • 移动选择: Ctrl+p/Ctrl+n
  • 编辑: Ctrl+u 清除,Backspace/Ctrl+hDelete/Ctrl+d
  • 退出过滤模式: Esc/Enter

文件打开配置

默认情况下,scd 通过 xdg-open 打开文件。建议配置一些命令行工具以在 shell 中打开文件。

配置是一个位于 ~/.config/scd/open.ymlYAML 文件。

示例配置文件

rs, py, go, js, html, css, c, cc, cpp, sh, fish: bat
toml, yaml, yml, json, ron, ini, conf, txt, md: bat
pdf: pdftotext {} - | less --quit-if-one-screen

依赖关系

~8–21MB
~257K SLoC