12 个版本

0.2.8 2023 年 11 月 5 日
0.2.7 2023 年 7 月 16 日
0.2.6 2023 年 2 月 19 日
0.1.0 2023 年 2 月 2 日
0.0.2 2023 年 1 月 29 日

#192 in 文件系统

每月 24 次下载

MIT/Apache

335KB
896

moove - 🚚 操作文件名和位置

Version Downloads from crates.io Downloads from GitHub License

moove 是一个命令行工具,用于通过文本编辑器重命名和移动文件和目录。

🎨 特性 | 🚀 使用方法 | 📥 开始使用 | 💙 贡献 | 🌏 许可证

Demo

特性 🎨

  • 在文本编辑器中以类似于 ls 的方式显示文件和目录名,并可以像编辑一样精确地重命名或移动它们。
  • 无依赖的预编译单个可执行文件。感谢 💖 Zigmusl libc
  • 支持 Linux、Mac 和 Windows。
  • 支持通配符模式,包括 Windows。

注意事项 ⚠

  • 给定路径必须可转换为 UTF-8。
  • 尽可能检测冲突,但并不完美。不验证所有路径,如硬链接和符号链接。

使用 🚀

Usage: moove [OPTIONS] [PATHS]...

Arguments:
  [PATHS]...  Paths or wildcard patterns to move

Options:
  -v, --verbose                    Verbose output
  -s, --sort                       Sort in the natural order
  -a, --absolute                   Treat as absolute paths
  -d, --directory                  Directories themselves, not their contents
  -w, --with-hidden                Include hidden files
  -e, --exclude-pattern <PATTERN>  Exclude regular expression pattern
  -c, --copy                       Copy without moving
  -u, --dry-run                    Dry-run
  -o, --oops                       Abort in case of collision (prompt as default)
  -q, --quiet                      No output to stdout/strerr even if error
  -h, --help                       Print help
  -V, --version                    Print version
  • 在文本编辑器中以类似于 ls 的方式显示文件和目录名。
  • 您可以根据需要编辑列表以执行操作。编辑后的行顺序与原始顺序对应。空行将被忽略。
  • 如果您在不保存的情况下关闭编辑器,则操作将被取消。
  • 如果一行以 // 开头,则无论行的其余部分如何修改,文件和目录(及其内容)都将被删除。
  • 将自动创建目标目录。
  • 如果行号更改或发生冲突,将询问是否重新编辑或中止。如果指定了 --oops,则不会询问就中止。

配置 🎚

  • 默认命令行选项可以通过环境变量 MOOVE_OPTIONS 指定。
  • 默认编辑器的搜索顺序如下。
    • 环境变量 VISUAL
    • 环境变量 EDITOR
    • 硬编码的列表
    • 特定平台的通用文件打开器

入门 📥

预编译的二进制文件

通过 cargo 安装

cargo install moove

替代方案

贡献 💙

以下用于构建。

设置开发环境 🪜

  1. 根据 Zig 文档 安装 Zig
  2. 运行以下命令。
cargo install cargo-make
cargo make setup

测试和构建 🔨

  • 要测试,

    cargo make test
    
  • 要为发布构建二进制文件,

    cargo make
    

    预编译的二进制文件将在 dist 目录中。

    ⚠ 在 Windows 上构建时,二进制文件没有执行权限。

TODOs ✅

  • 适用于各种平台的包
  • 覆盖选项
  • 排除 .gitignore 选项
  • 默认情况下移动到垃圾桶而不是删除
  • 日志记录
  • 递归选项
  • 最大深度选项
  • 深度选项

许可证 🌏

根据您的选择,许可方式为以下之一

除非您明确说明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在该作品中的任何贡献,都将按照上述方式双重许可,而不附加任何额外的条款或条件。

© 2023 Urin

依赖项

~5–18MB
~203K SLoC