#path #wsl #shell #directory #change #windows #file

app cdw

轻松将目录更改为 WSL 中的 Windows 路径

1 个不稳定版本

0.2.0 2024年8月24日

文件系统 中排名第 190

MIT 许可证

28KB
498

CDW - 在 WSL 中更改 Windows 路径的目录 🚀

License: MIT

CDW (Windows 路径的 cd (更改目录)) 是一个功能强大且用户友好的命令行工具,无缝连接 Windows 和 WSL (Windows 子系统 for Linux) 文件系统。告别手动将 Windows 路径转换为 WSL 路径的麻烦,只需复制您的 Windows 路径即可!🎉

🌟 特点

  • 🔄 无需费力即可将 Windows 路径转换为 WSL 路径
  • 📂 使用 WSL 中的 Windows 风格路径更改目录
  • 🐚 支持多个 shell (Bash, Zsh, Fish, PowerShell, Nushell, Xonsh 和 Sh)
  • 🚀 简单的安装和设置
  • 💡 智能壳检测
  • 🔍 详细输出模式
  • 🛠️ 不更改目录即可转换路径
  • 🎨 可定制的 shell 函数

🚀 快速入门

从 Cargo 安装

  1. 使用 Cargo 安装 CDW

    cargo install cdw
    
  2. 为您的 shell 初始化 CDW

    cdw --init
    
  3. 重新启动您的 shell 或根据输出源您的 shell 配置文件

  4. 开始使用 CDW

    cdw C:\Users\YourName\Documents
    

从源代码编译

  1. 克隆仓库

    git clone https://github.com/aarmn/cdw.git
    
  2. 构建项目

    cd cdw
    cargo build --release
    
  3. 为您的 shell 初始化 CDW

    ./target/release/cdw --init
    
  4. 重新启动您的 shell 或根据输出源您的 shell 配置文件。

  5. 开始使用 CDW

    cdw C:\Users\YourName\Documents
    

🛠️ 使用方法

cdw [OPTIONS] [PATH]

选项

  • -i, --init: 初始化 shell 函数
  • --init-all: 为所有可用的 shell 初始化 shell 函数
  • --init-display <SHELL>: 显示特定 shell 的 shell 函数
  • -, --verbose: 启用详细模式
  • -, --convert: 转换路径而不更改目录
  • --help: 显示帮助信息

示例

# Change directory to a Windows path
cdw 'C:\Users\YourName\Documents' # using `'` is necessary in bash for `\` to be interpreted as raw string and remain unescaped, check your shells for more info on raw/unescaped strings

# Convert a Windows path to WSL path without changing directory
cdw -c D:\Projects\MyProject

# Initialize CDW for your current shell
cdw --init

# Display the shell function for Zsh
cdw --init-display zsh

# Initialize CDW for all shells available (🚧WIP)
cdw --init-all

每个 shell 中的原始字符串

Shell 转义字符(非 N/A) 支持空格而不需要转义反斜杠 示例
xonsh 无或 r"" 或 r'' cdw C: (:\ 终止路径问题) 或 cdw r'C:\'cdw r'C:\'
bash '' cdw'C:\'
nushell cdw C:\
fish cdw C::\ 结尾路径问题)
sh/dash '' cdw'C:\'
zsh '' cdw'C:\'
powershell cdw C:\

🐚 支持的 Shell

  • Bash
  • Zsh
  • Fish
  • PowerShell
  • Nushell
  • Xonsh
  • Sh (🚧WIP)

🎨 自定义

CDW 自动在 ~/.config/cdw/ 创建特定 Shell 的函数和自动补全脚本。您可以自定义这些文件以满足您的需求。但请注意,通过调用 initinit-all 标志,它们将被覆盖。

🚧 当前限制

  • --init-all 功能目前正在开发中。
  • CDW 目前是 cd 的直接替换,但不支持 cd 标志,因为它们很少使用。
  • 如果您的文件名中包含 :\,CDW 可能无法正确工作。这个限制已被认可,可能在未来的版本中解决。

✅ TODOs

  • 为所有支持的 Shell 添加和稳定自动补全
  • 在可能的 Shell 中实现文件自动补全
  • 添加“不自动补全”模式
  • 删除所有残留或完全支持 ksh
  • 将 CDW 作为系统 cd 命令的直接替换(仅当使用 Windows 风格路径时激活,向下传递未知标志,测试与常见 Shell 中的 cd 标志是否冲突)
  • 在可能的直接替换解决方案中解决 Linux 中文件名包含 :\ 的问题。
  • 清理代码,使枚举成为传递 Shell 类型的数据结构,而不是字符串或 &str
  • 为 rustdoc 编写代码文档
  • 制作 lib.rs
  • 使用原始字符串的空间问题
  • 剪贴板应用
  • 添加书签和快速 cd 功能(也许!)

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

📜 许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。

🙏 致谢

特别感谢所有帮助改进 CDW 的贡献者和用户!


Aryan L. Horizon (AARMN) 用 ❤️ 制作

🌟 如果您发现 CDW 有用,请考虑在 GitHub 上给它一个 star!🌟

依赖项

~1.2–1.7MB
~32K SLoC