Zsh

zsh 補全:只提供特定的文件副檔名來補全

  • November 6, 2021

目前,我在我的.zshrc

zstyle ':completion::complete:mpv:*' menu yes select

除了使用菜單mpv完成之外,我還想將提供的完成限制為僅提供具有指定文件副檔名的文件,即mp4, mp3, …

我怎樣才能將它整合到我現有的規則中?

最簡單的方法是使用ignored-patterns設置:

zstyle ':completion::complete:mpv:*' ignored-patterns '^(*.(mp4|mp3))'

**但是,**這也會忽略不以or結尾的目錄.mp3``.mp4

如果您仍然希望目錄正常完成,那麼您必須使用稍微複雜的file-patterns設置:

zstyle ':completion::complete:mpv:*' file-patterns '
 *(D-/):local-directories:"local directory" 
 *.(mp3|mp4)(D-^/):media-files:"media file"
'

有關 and 的解釋(D-/)(D-^/)請參閱Zsh 手冊中關於 glob qualifiers 的部分

引用自:https://unix.stackexchange.com/questions/630367