2013-02-16 2 views
2

VCS 정보를 확인하는 것과 같이 precmd()가 상당히 많으므로 저속 마운트 된 네트워크 드라이브에서 탐색 할 때 비활성화해야합니다.자체 정의 함수의 이름 바꾸기

느린 드라이브로 변경하기 전에 slow라고 말하면서 다음을 생각해 냈습니다. fast을 다시 변경하기 위해 더 쉬운 것이 있는지 궁금합니다. precmd 기능 이외에

precmd_slow() { 
    not_much 
} 
precmd_fast() { 
    precmd_slow 
    somemore1 
    somemore2 
} 

precmd() { 
    precmd_fast 
} 

slow() { 
    precmd() { 
     precmd_slow 
    } 
} 

fast() { 
    precmd() { 
     precmd_fast 
    } 
} 
+0

같은 느린 드라이브를 검색하면 많이하는 ['디렉토리 별 zshrc'] (http://michael-prokop.at/blog/2011/10/08/rocking-zsh-directory- specific-shell-profiles-screencast /)는 프로세스를 자동화하는 데 도움이되지만, 키 바인딩 기능만으로도 쉽습니다. 그냥 생각. – simont

답변

2

도 동시에 전화 기능의 목록을 포함 precmd라는 배열있다. 직접 조작 할 수도 있지만, zshcontrib에는 문제를 단순화하는 기능 add-zsh-hook이 있습니다.

# precmd_slow and precmd_fast defined as before 

autoload add-zsh-hook 
add-zsh-hook precmd precmd_fast 

fast() { 
    add-zsh-hook -d precmd precmd_slow 
    add-zsh-hook precmd precmd_fast 
} 

slow() { 
    add-zsh-hook -d precmd precmd_fast 
    add-zsh-hook precmd precmd_slow 
}