2012-02-09 7 views
5

zsh을 사용하여 상위 디렉토리에 바로 가기를 추가하고 싶습니다. 쉬워요가위젯 동작 후 zsh 프롬프트를 다시 그리는 방법

cdup() { 
    builtin cd .. 
} 
zle -N cdup 
bindkey "your_favorite_key_code" cdup 

는하지만이 프롬프트를 다시 그리기하지 않음을 수행하는, 아무도 그것을 할 방법을 알고?

pushd/popd를 수행하는 바인딩 바로 가기도 좋은 아이디어 일 수 있습니다. "fish shell"의 아이디어를 얻었습니다.

답변

6

나는 최근에 똑같은 것을 구현했습니다. 내가 가지고 올 수있는 가장 좋은 방법은 다음

cdup() { 
    cd .. 
    zle reset-prompt 
} 

zle reset-prompt이다 프롬프트를 다시 그리기를 얻는 비트입니다.

편집 : 대답의
내 이전 버전의 대답에 printf '\n'했다. 프롬프트가 여러 줄 프롬프트 인 경우 필요합니다. 그러나 zsh에는 mutli-lines 프롬프트와 관련하여 많은 문제가 있으므로 분명히 삭제했습니다.

+0

답장을 보내 주셔서 감사합니다. 현재 프롬프트 라인에 표시된 내용을 그대로 유지합니다. 'printf '\ n "는 환영합니다. 디렉토리를 바꿀 때 새로운 pwd가 출력되기 때문입니다. – lolesque