고쳐 쓰다:

고쳐 쓰다:

나에게 별명이 있다고 말할 수 있습니다 grep. 내가 그것을 사용하면 zsh completiongrep이 두 번 제공됩니다(한 번은 명령으로, 한 번은 별칭으로).

gr<TAB>
grep
grep

ignored-patterns특별히 for aliases또는 commandsfor builtins또는 functions" 를 사용할 수 있다는 것을 알았습니다 .

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-

어쨌든 예약어 태그는...

관련 정보