2017-07-17 57 views
0

我最近切换到鱼壳,并想知道它是否可以在zsh中自动完成文件路径而不指定它的父目录。对于foo/bar/file.ext中的文件,在zsh中,我可以输入open .///file <TAB>和自动完成到open ./foo/bar/file.ext(假设没有其他名称相同的文件或目录位于同一级别)。当我在鱼类中执行相同的操作时,自动完成功能找不到该文件。有没有办法在鱼类中启用此功能?鱼自动完成文件路径没有指定目录结构

+1

'./*/*/file '声音怎么样? –

回答

1

与zsh不一样。鱼有一个特殊的** glob递归到目录中。自动完成逻辑可以识别并处理它。所以你可以做open **/file[tab],它会为你提供可供选择的匹配文件。但是,它实际上并没有在命令行上扩展**,结果有些不明确。我们有一个公开的问题,https://github.com/fish-shell/fish-shell/issues/751,实施一种方法来明确地要求在运行命令之前扩展变量和球。

+0

我明白了。计划在未来模仿zsh?我发现'open **/file '比zsh慢得多。随着我更多地使用shell,自动完成会变得更快吗? – Chris

+0

作为一般规则,鱼群不会添加可配置的行为。壳应该“只是工作”。如果有人提出明显优越的新行为建议,我们愿意改变现有行为,并且这种改变不会让习惯于现有行为的极少数用户烦恼。请打开一个问题:https://github.com/fish-shell/fish-shell/issues/new。使用'**'递归完成文件首次缓慢,因为操作系统可能需要从磁盘读取大量数据。 –

相关问题