我正在尝试自动完成 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
、、或其他名称)。org
net
伟大的 zsh 肯定有某种方法可以使用正则表达式或 glob 来过滤此列表,但我找不到它。有什么诀窍吗?
答案1
setopt glob_complete
或许调整其他完成相关选项. 然后输入defaults write *foo
并按Tab。