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 现在支持一些自定义,例如可选地仅完成目录路径、使完成不区分大小写、启用颜色等。 从这里查看自定义功能选择部分。