修正する:

修正する:

私にニックネームがあると言うことができますgrep。私がそれを使用すると、zsh completiongrepが2回提供されます(一度はコマンドとして、一度はエイリアスとして)。

gr<TAB>
grep
grep

ignored-patterns特にforaliasesまたはcommandsforまたは「を使用できるbuiltinsfunctionsことがわかりました。

zstyle ':completion:*:*:-command-:*:aliases' ignored-patterns 'grep'
zstyle ':completion:*:*:-command-:*:commands' ignored-patterns 'foo'
zstyle ':completion:*:*:-command-:*:builtins' ignored-patterns 'something'
zstyle ':completion:*:*:-command-:*:functions' ignored-patterns 'something'

ただし、次のカテゴリに属さない無視する必要があるいくつかの完了項目があります。

which coproc
coproc: shell reserved word

また、変数を定義すると変数が完成します。

foo=1

fo<TAB>
foo

無視する「シェル予約語」と変数を指定するには?

修正する:

さらなる調査の最後に、zstyleの一般的な構文を見つけました。

':completion:<function>:<completer>:<command>:<argument>:<tag>'

私が探しているのは、「予約語」の正しいタグ名です。coproc

答え1

異なるタグから重複したアイテムを削除する簡単な方法があります。タグを同じグループに配置します。

zstyle ':completion:*:*:-command-:*:*' \
    group-name -command-

とにかく予約語タグは...

関連情報