3

我希望能够在 zsh 中键入文件名,点击选项卡,然后在我当前目录的任何子目录中查看与该名称匹配的文件列表。然后我可以通过标签浏览这些结果并按回车键选择某个文件,就像内置的 zsh 标签完成功能一样。

示例所需的功能:

$ emacs app.css [tab]
*www/css/app.css*    tmp/static/app.css
[enter]
$ emacs www/css/app.css

如果这不是当前的功能,我假设我可以编写一个自定义完成脚本来实现它。

4

1 回答 1

3

您可以通过利用**模式(匹配多个目录)和向样式添加控制功能_expandcompleter如果还没有的话)来实现类似的效果。

至少,您需要进行以下设置:

autoload -U compinit
zstyle ':completion:*' completer _expand
compinit

然后你可以得到所需的列表

% emacs **/app.css[TAB]

它甚至允许选择一次打开所有匹配的文件。

于 2016-07-08T21:12:52.813 回答