bash完成目录样式部分建议打印

时间:2013-02-17 21:43:03

标签: bash bash-completion

我正在开发一个名为to的脚本,该脚本在bash中对文件系统位置进行书签(对zsh的支持有限)。您可以在此处找到来源:https://github.com/resultsreturned/to

该脚本支持所有操作的标签完成。

假设您已“标记”文件夹的位置:

mara@andromeda:~/bin/android-sdk-linux$ to -b android

然后,该脚本允许您访问书签的子文件夹,如下所示:

mara@andromeda:~$ to android/docs/
mara@andromeda:~/bin/android-sdk-linux/docs$ 

按两次标签会给出建议:

mara@andromeda:~$ to android/s<TAB><TAB>
android/samples/        android/sd-card/        android/sources/        android/system-images/  

但是,我宁愿这些建议只打印当前未输入缓冲区的路径部分。例如,cd命令:

mara@andromeda:~/bin$ cd android-sdk-linux/s<TAB><TAB>
samples/       sd-card/       sources/       system-images/ 

请注意建议仅包含当前正在输入的目录级别。

所以问题是,你如何控制bash打印建议的方式?是否可以独立于完成词表(对于compgen / complete)执行此操作?有没有办法定义一个正则表达式来处理完成wordlist以作为建议打印?

1 个答案:

答案 0 :(得分:1)

由于对mark a comment as an answer的功能请求仍然被拒绝,我在此处复制上述解决方案。

因此,在调用-o filenames时,解决方案结果是使用completeShowing only the substrings of COMPREPLY bash completion options to the user - 结果返回