zsh 완료: 완료를 위해 특정 파일 확장자만 제공

zsh 완료: 완료를 위해 특정 파일 확장자만 제공

현재 나는 다음을 가지고 있습니다 .zshrc:

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

메뉴 완성 기능을 사용하는 것 외에도 지정된 파일 확장자를 가진 파일(예: , , ...) mpv로만 완성 기능을 제공하도록 제한하고 싶습니다.mp4mp3

이를 기존 규칙에 어떻게 통합합니까?

답변1

가장 쉬운 방법은 다음 ignored-patterns설정을 사용하는 것입니다.

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

하지만,이것도 무시됩니다목차.mp3또는 으로 끝나지 않습니다 .mp4.

여전히 디렉터리를 정상적으로 완료하려면 약간 더 복잡한 file-patterns설정을 사용해야 합니다.

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

(D-/)및 에 대한 설명은 (D-^/)다음을 참조하세요.glob 한정자에 대한 Zsh 매뉴얼 섹션.

관련 정보