ZSH Cull 이전 별칭

ZSH Cull 이전 별칭

zsh 셸을 호출하면 alias별칭 목록이 표시됩니다. 그 중 일부는 바람직하지만 일부는 그렇지 않습니다. 원래 .alias내 홈 디렉터리에 파일을 만들고 source $HOME/.alias.zshrc. 내 에서 제공되는 파일의 일부가 아닌 기존 별칭을 어떻게 제거합니까 .zshrc? (아마도 를 사용하여 하나씩 수행할 수 있지만 unalias엄청나게 번거로운 것 같습니다.)

답변1

unalias동시에 여러 별칭을 설정 해제할 수 있으므로 이 작업을 반드시 하나씩 수행할 필요는 없습니다.

모든 별칭을 삭제하고 에서 새로 다시 로드하는 것이 좋습니다 ~/.alias.

unalias ${(k)aliases} ${(k)galiases} ${(k)saliases}; source 

이를 위해서는 zsh/parameter모듈을 로드해야 합니다. 로 확인하고 zmodload | grep parameter로 로드하세요 zmodload zsh/parameter.

매개변수 aliases, galiases및 는 saliases각각 일반, 전역 및 접미사 별칭의 이름을 해당 확장에 매핑합니다. ${(k)parameter}의 키로 대체됩니다 parameter.


어떤 이유로 모듈을 로드할 수 없는 경우 다음 alias명령 출력을 사용하여 문제를 해결할 수 있습니다.

unalias $(alias | cut -d = -f 1) ; source ~/.alias

특정 종류의 별칭만 설정 해제하려면 alias -r일반 별칭(명령 대신 사용되는 별칭), alias -g전역 별칭 ​​및 alias -s접미사 별칭에 사용하세요.


이 작업을 더 자주 수행해야 하는 경우에는 ~/.zshrc(또는 거기에서 소스로 사용하는 다른 파일) 함수를 정의하면 됩니다.

reload-aliases () {
    unalias ${(k)aliases}
    source ~/.alias
}

관련 정보