1 个不稳定版本
0.1.0 | 2023 年 8 月 10 日 |
---|
#31 in #cd
18KB
327 行
Warp 目录
一个类似 warp-dir 的工具,使用 Rust 编写。
这可以被视为一个用于最常使用的文件夹集的文件夹导航超级加速工具。如果你经常需要进入一些深度嵌套且路径前缀很长的文件夹,这将非常有用。
用法
/home/me/a/b/c/d/> wd add foo
/home/me> cd
/home/me> z foo
/home/me/a/b/c/d/> # Huzzah!
/home/me/a/b/c/d/> wd help
Usage: wd [OPTIONS] [target] [PATH] [COMMAND]
Commands:
add Adds the current working directory to your warp points
remove Removes the given warp point
list Print all stored warp points
show Show the path to given warp point (pwd)
clean Remove points warping to nonexistent directories
shell Subcommands for hooking into the shell
help Print this message or the help of the given subcommand(s)
Arguments:
[target]
Warps to the directory specified by the warp point
Possible values:
- foo: /home/me/a/b/c/d
为什么?
为什么用 Rust 重写?
- 为了好玩!
- 我遇到了一些问题,它们会定期失败,直到打开一个新的 shell(可能是由于它是用 bash 编写的)才能正确加载/执行。
- 额外的 shell 支持
差异
基本上,这个工具在大多数情况下应该像 warp-dir 一样作为一个即插即用的替代品。
截至写作时,大多数命令都已实现,尽管 CLI 选项不会完全相同。
值得注意的是,默认的配置查找位置不同!默认情况下,它将查找 $XDG_DATA_HOME/wd/config
。这可以通过 $WD_CONFIG
环境变量进行配置,该环境变量也受到原始 warp-dir 项目的尊重。
Shell 支持
目前明确支持以下 shell: zsh
、bash
和 fish
。已经建立了支持其他 shell 的框架,这应该使得支持可能需要 "$SHELL"
特定行为的其他常见 shell 变得容易。
更改 shell 的目录需要执行少量 shell 代码,因此安装二进制文件(以下建议)后,您需要将挂钩添加到您的 bashrc/zshrc/config.fish 等。
- bash
eval "$(wd --shell bash shell init)"
- zsh
eval "$(wd --shell zsh shell init)"
- fish
wd --shell fish shell init | source
根据与上述 shell 的相似程度,您可能可以使用上述 shell init
中的一个钩子,直到添加了显式支持。
自动补全
此外,您可以使用 wd shell completion
生成 CLI 自动补全,并将它们写入您 shell 的适当位置。
这将启用 warp 目录目标的自动补全!
安装
使用 Cargo
cargo install warp-dir
下载发行版
- 从 发行版 下载预构建的二进制文件
依赖关系
~3–14MB
~120K SLoC