zsh 쉘에서 "make" 명령 완료를 방지하는 파일

zsh 쉘에서 "make" 명령 완료를 방지하는 파일

문맥

  • zsh껍데기,
  • oh-my-zsh액자,
  • 특별한 zsh구성 없음(이 있든 없든 동일한 문제 zsh-completions): .zshrc끝을 참조하세요.

문제

디렉토리에 다음이 포함된 경우:

  • 목표 는 makefile: hello, hello.o그리고 main.o,
  • 예를 들어 3개 파일 foo, barbaz,

+ ↹ 호출이 make완료된 것으로 나타납니다.

bar baz foo hello hello.o main.o makefile

그리고 makefile목표만이 아닙니다.

질문

이와 관련하여 zsh동작을 사용자 정의하려면 어떻게 해야 합니까 bash(대상만 표시)?makefile

구성 파일

이 내 꺼야 .zshrc:

export ZSH=/home/bitouze/.oh-my-zsh

ZSH_THEME="gnzh"

plugins=(git zsh-completions)
autoload -U compinit && compinit

source $ZSH/oh-my-zsh.sh

export LANG=fr_FR.UTF-8

source $HOME/.aliases

# texdoc completion
compctl -k "(($(grep ^name $(kpsewhich -var-value TEXMFROOT)/tlpkg/texlive.tlpdb | grep -v '\.' | awk '{print $2}' | tr '\n' ' ')))" texdoc

export ANDROID_HOME="/home/bitouze/Android/Sdk"
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

export JAVA_HOME=/usr/lib/jvm/jre


#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/home/bitouze/.sdkman"
[[ -s "/home/bitouze/.sdkman/bin/sdkman-init.sh" ]] && source "/home/bitouze/.sdkman/bin/sdkman-init.sh"

답변1

zsh표시만 요청할 수 있습니다 .targets 상표make명령 완성을 위해

zstyle ':completion:*:*:make:*' tag-order 'targets'

위 코드를 라인 뒤 어딘가에 추가하세요.

autoload -U compinit && compinit

관련 정보