내 프롬프트는 다음과 같이 설정됩니다.
PROMPT=%F{reset}[%F{blue}%2/%F{reset}]
두 개의 상위 디렉토리를 다음과 같이 표시합니다.
[foo/bar]
그러나 내가 $HOME
깊은 곳이나 어떤 디렉토리에 있을 때 $HOME
프롬프트가 다음과 같이 나타나기를 원합니다.
[~]
[~/foo]
각각 교체하다
[/Users/me]
[me/foo]
나는 Steve Losh와 같은 것을 시도했습니다.collapse_pwd
(그리고 더 간단한 버전: ${PWD/#$HOME/~}
기사에도 언급됨) 및 기타 유사한 버전이 있지만 마지막 두 디렉터리만 표시할 수 있는 유연성이 손실됩니다.
이 문제를 처리하려면 위의 내용을 어떻게 수정해야 합니까 $HOME
? 내 zsh 버전은 zsh 5.0.0 (x86_64-apple-darwin12.0.0)
OS X 10.8.2 입니다.
답변1
zsh
이에 대한 기본 지원이 있습니다. %2~
대신 사용하십시오 %2/
.%40<...<%~
autonamedirs
옵션 도 참조하세요 :
$ l=/usr/local
$ PS1='%~$ '
~$ setopt autonamedirs
~$ cd /usr/local
~l$
(그렇지 않은 경우 autonamedirs
에도 프롬프트를 실행하고 cd ~l
표시 할 수 있습니다 ).cd
/usr/local
~l