我正在开发一个名为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以作为建议打印?
答案 0 :(得分:1)
由于对mark a comment as an answer的功能请求仍然被拒绝,我在此处复制上述解决方案。
因此,在调用-o filenames
时,解决方案结果是使用complete
。 Showing only the substrings of COMPREPLY bash completion options to the user - 结果返回