如何让 shell 自动完成文件路径的开头?

How can I make shell autocomplete the beginning of a filepath?

我有一个具有深层嵌套文件夹结构的项目。大多数时候我知道我要使用的文件的名称,但是当我想编辑它时文件夹路径太 long/complicated 无法输入,例如:

vim folder/is/deep/down/there/myfile.js

如果文件名是唯一的,有没有办法让 shell 自动为我填充路径,例如:

vim *myfile.js

按 TAB 键 -->

vim folder/is/deep/down/there/myfile.js

我主要使用 bash,但如果 zsh 可以解决问题,我也很满意。

在 bash 脚本中使用 locate 实用程序可能是个好主意。 调用 bash 脚本将文件名作为参数传递将是明智之举,然后使用先前命名的实用程序来查找它。 完成后,您可以简单地找到是否有 1 个或多个匹配项,如果只有一个匹配项,您可以使用 vim [match]。 显然,脚本可以这样调用 ./openinvim.sh myfile.js

我认为这就是您要查找的内容,vim 将打开目录中 myfile.js 的所有实例。 Fish shell 将允许我在不同的匹配文件中切换,但我不确定它是否适用于 bash。

vim **/myfile.js