팁: 사용자 정의 경로를 ~ for home과 같은 짧은 단어로 바꾸십시오.

팁: 사용자 정의 경로를 ~ for home과 같은 짧은 단어로 바꾸십시오.

전화를 걸면 cd /Users/mu3/apps프롬프트가 다음과 같이 단순화됩니다.

mu3 [~/apps]:

다음과 같은 사용자 정의 경로로 동일한 작업을 수행할 수 있습니까 cd /Users/mu3/Development/Web/test?

mu3 [DEV/test]:

iTerm + oh-my-zsh를 사용하고 있습니다.


UPD: 저는 충분히 구체적이지 않았고 새로운 정보도 발견했습니다.
내가 사용하기 때문에agnoster주제는zsh프롬프트 자체를 처리하는 쉘입니다.

그래서 결국 나는 변했다이 줄:

prompt_segment blue black '%~'

이와 관련하여:

PWDshort="${PWD/#$HOME/~}"
PWDshort="${PWDshort/\~\/_cld\/Dropbox\/Dev\/Web/DEV}"
prompt_segment blue black $PWDshort

여기에 이미지 설명을 입력하세요.

이제 문제는 모든 업데이트가 분명히 이것을 깨뜨릴 것이라는 것입니다.
동일한 결과를 얻는 더 좋은 방법이 있습니까?

답변1

프롬프트에 대한 디렉토리 약어를 정의하는 표준 방법은 다음을 사용하는 것입니다.이름 디렉터리. 확장 시 명명된 디렉터리 사용%~~홈 디렉터리를 축약하고 ~bobBob의 홈 디렉터리를 축약하는 것으로 요약된 프롬프트 이스케이프 시퀀스입니다 .

mu3 [~]: cd /Users/mu3/Development/Web/test
mu3 [~/Development/Web/test]: hash -d test=$PWD
mu3 [~test]: cd config
mu3 [~test/config]: 

일반적인 접근 방식은 단축된 프롬프트에 사용되는 것 외에도 이름이 지정된 디렉터리를 사용하여 경로를 단축할 수도 있습니다. 예를 들어 해당 디렉터리로 전환하려면 를 hash -d test=~/Development/Web/test실행할 수 있습니다..zshrccd ~test

이 방법을 사용하면 축약형이 항상 로 시작됩니다 ~.

답변2

에서와 같이 프롬프트의 기능을 사용할 수 있습니다 bash. 예는 다음과 같습니다.

setopt PROMPT_SUBST

print_dir(){
  case $PWD in
  (*/Development*)
    echo DEV/${PWD:t}
    ;;
  (*)
    echo $PWD
    ;;
  esac
}

export PROMPT=$'[$(print_dir)]: '

이것zshall매뉴얼 페이지 문서 PROMPT_SUBST:

이 옵션을 설정 하면 PROMPT_SUBST프롬프트 문자열이 먼저 실행됩니다.매개변수 확장,명령 대체그리고산술 확장. 바라보다zshexpn(1).

관련 정보