Bash 的不完整路径扩展(完成)

bash-complete-partial-path 通过添加类似于 Zsh 的不完整路径扩展来增强 Bash 中的路径补全(在 Linux、使用 gnu-sed 的 macOS 和使用 MSYS 的 Windows 上)。 如果您想在 Bash 中使用这种节省时间的功能,而无需切换到 Zsh,这将非常有用。

这是它的工作原理。 当。。。的时候
Tab

键被按下, bash-complete-partial-path 假定每个组件都不完整并尝试扩展它。 假设您要导航到
/usr/share/applications

. 你可以输入
cd /u/s/app

, 按
Tab

, 和 bash-complete-partial-path 应该将其扩展为
cd /usr/share/applications

. 如果有冲突,只有没有冲突的路径在按下时完成
Tab

. 例如 Ubuntu 用户应该有很多文件夹
/usr/share

以“app”开头,所以在这种情况下,输入
cd /u/s/app

只会扩大
/usr/share/

部分。

这是另一个更深层次的不完整文件路径扩展的例子。 在 Ubuntu 系统类型上
cd /u/s/f/t/u

, 按
Tab

, 它应该自动扩展为 cd
/usr/share/fonts/truetype/ubuntu

.

特点包括:

  • 转义特殊字符
  • 如果用户使用引号开始路径,则不应用字符转义,而是在扩展路径后用匹配字符关闭引号
  • 适当扩展 ~ 表达式
  • 如果 bash-completion 包已在使用中,此代码将安全地覆盖其 _filedir 函数。 不需要额外的配置,只要确保你在 main 之后获取这个项目 bash-完成。

查看项目页面以获取更多信息和演示截屏视频。

更新: bash-complete-partial-path 现在支持一些自定义,例如可选地仅完成目录路径、使完成不区分大小写、启用颜色等。 从这里查看自定义功能选择部分。

安装 bash-完整的部分路径