我如何过滤 zsh 的补全候选项?

我如何过滤 zsh 的补全候选项?

我正在尝试自动完成 OS X 默认域。我输入:

$ defaults write <TAB>

我得到了很多结果如下:

com.apple.AOSNotification.Accounts
com.apple.ATS
com.apple.ActivityMonitor
com.apple.AddressBook
com.apple.AddressBook.abd
com.apple.AddressBookSourceSync
com.apple.Aperture
com.apple.AppleShareClient
com.apple.Automator
com.apple.Automator.LSSharedFileList
com.apple.BezelServices
com.apple.BluetoothAudio
com.apple.CharacterPaletteIM
com.apple.Console
...

现在,我通常会通过输入我想要的内容的前几个字母,然后再完成来筛选这个列表。不过,在这里,所有这些的有趣之处都在结尾单词的开头。我知道我要查找的应用程序的名称,它将位于单词的末尾,但我不确定完整域名以哪个 TLD 开头(可能是com、、或其他名称)。orgnet

伟大的 zsh 肯定有某种方法可以使用正则表达式或 glob 来过滤此列表,但我找不到它。有什么诀窍吗?

答案1

setopt glob_complete

或许调整其他完成相关选项. 然后输入defaults write *foo并按Tab

相关内容