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

bash完整部分路径 通过添加不完整的路径扩展(类似于Zsh)来增强Bash中的路径完成(在Linux,带有gnu-sed的macOS和Windows上具有MSYS的情况下),如果您希望在Bash中使用此省时的功能而无需切换到sh

这是这样的。 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函数。不需要任何额外的配置,只需确保在主bash-completion之后获取该项目。

看看 项目页面 有关更多信息和演示截屏视频。
更新:bash-complete-partial-path现在支持一些自定义,例如可以选择仅完成目录路径,使完成不区分大小写,启用颜色等。 在这里

安装bash-complete-partial-path

bash-complete-partial-path安装说明指定直接下载bash_completion脚本。我更喜欢使用Git存储库,因此可以通过简单的方式对其进行更新 git pull,因此以下说明将使用这种安装bash-complete-partial-path的方法。您可以使用 官方的 说明,如果您喜欢它们。
1.安装Git(需要克隆bash-complete-partial-path Git存储库)。
在Debian,Ubuntu,Linux Mint等中,使用以下命令安装Git:

sudo apt install git

2.在中克隆bash-complete-partial-path Git存储库 ~/.config/

cd ~/.config && git clone https://github.com/sio/bash-complete-partial-path

3.来源 ~/.config/bash-complete-partial-path/bash_completion 在你的 ~/.bashrc 文件,
使用文本编辑器打开〜/ .bashrc。例如,您可以使用Gedit:

gedit ~/.bashrc

在末尾 ~/.bashrc 文件添加以下内容:

if [ -s "$HOME/.config/bash-complete-partial-path/bash_completion" ]
then
    . "$HOME/.config/bash-complete-partial-path/bash_completion"
    _bcpp --defaults
fi

我提到在文件末尾添加它,因为这需要包含在您的主要bash补全下面(之后) ~/.bashrc 文件。因此请确保不要将其添加到原始bash-completion上方,否则会引起问题。
4.来源 ~/.bashrc

. ~/.bashrc

完成后,bash-complete-partial-path现在应该已安装并可以使用。顶部的bash徽标来自 维基百科

Sidebar