如何让 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
我有一个具有深层嵌套文件夹结构的项目。大多数时候我知道我要使用的文件的名称,但是当我想编辑它时文件夹路径太 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