0
현재 내 zsh
프롬프트는 입력 프롬프트로 %
을 표시하기 전에 $'%2~ %%'
을 사용하여 현재 및 이전 디렉토리를 출력합니다. 내가 /Users/david/Documents/Code/project
에있어 예를 들어, 내 메시지가 표시됩니다
Code/project %
을 그러나, 나는 다시 위로 Code
디렉토리에, 물결이 표시되는 경우 :
~Documents/Code %
I을 ' 함수에서 제공된 정규식을 대체하여 fish
쉘에서 이것을 재현하려고 시도하고 sed
으로 전달됩니다.
function prompt_pwd --description 'Print the current working directory, shortend to fit the prompt'
echo $PWD | sed -e "s|^$HOME|~|" -e "s|^/private||" -e 's-\([^/]\)[^/]*/-\1/-g'
end
는 현재이 현재 디렉토리의 전체 이름을 출력하지만, 하나 개의 문자에 다른 모든 디렉토리를 자릅니다 (그리고 물결표 $HOME
를 대체) : 같은 기본적으로 그 기능을 보인다. 나는 내가 zsh에서했던 것을 복제하기 위해 그 함수를 제공 할 수있는 정규 표현식을 이해하려고 노력하고있다.
이 거의 내가 원하는 단지 무엇을했다! 나는 후행 슬래시를 제거했지만 다른 모든 것들은 훌륭하게 작동했습니다. 정말 고맙습니다! – davidcelis
이것은 매우 가까웠습니다. 감사합니다. 나는 적당한''/'접두어 (조금 해킹 된 것)를 얻기 위해 이와 같이 수정해야만했다 :'sed -e "s |^$ HOME/||" -e '-. */\ ([^ /] */[^ /] * \) - \ 1/-'| sed "s/^/~ \ //" " –