
최근에 사용하기 시작했어요cdr
zsh
최근 디렉토리를 기억하기 위해 . pushd
등을 사용하곤 했습니다 . 내가 놓친 것 중 하나는 popd
기본적으로 "이 디렉토리 사용을 마쳤습니다. 이전에 있던 위치로 되돌리고 스택에서 이 항목을 제거합니다."를 의미합니다.
비슷한 의미 체계를 로 수행할 수 있습니까 cdr
?
편집: "기록"을 "스택"으로 변경합니다.
답변1
당신은 입력할 수 있습니다
cdr -p $PWD
그리고 cdr
그럴 것이다치다목록에서 현재 있는 디렉토리입니다. 다른 디렉토리를 정리하려면 $PWD
제거하려는 디렉토리의 절대 경로 이름으로 바꾸십시오. 또는 전체 디렉토리 세트를 제거하려는 경우 인수에 glob 패턴을 사용할 수도 있습니다. 그리고 cdr -p
변경하기 전에 귀하의 작업 결과가 어떻게 될지 보여주고 확인을 요청하므로 "우연히 모든 일이 발생하는 것"에 대해 걱정할 필요가 없습니다. 보다http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Options-2더 많은 정보를 위해서.
우리가 속한 이전 디렉토리로 돌아가려면 다음을 수행하십시오.
cd -
이 두 가지를 하나의 함수로 결합할 수 있습니다.
cdpop() {
local dir=$PWD
# `cdr` without arguments does the same `cdr 1`: Go back to the previous
# dir.
cdr
# `-P` does the same as `-p`, but is silent and doesn't ask for
# confirmation.
cdr -P $dir
}
cdr
그건 그렇고: 명령을 수행하도록 설정할 수도 있습니다 cd
. 이를 활성화하려면 ~/.zshrc
파일에 다음을 입력하십시오.
zstyle ':chpwd:*' recent-dirs-default true
cdr
그런 다음 특정하지 않은 인수를 전달하면 대신 cdr
전달됩니다 cd
. 그러면 cd
또는 을 사용할지 고민할 필요가 없습니다 cdr
. 항상 cdr
모든 것에 사용할 수 있습니다. 보다http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Configuration-2더 많은 정보를 위해서.
내가 놓친 것 중 하나는 입니다
popd
. 이는 기본적으로 "이 디렉토리 사용을 마쳤습니다. 이전에 있던 위치로 되돌리고 기록에서 이 항목을 제거합니다."를 의미합니다.
작은 수정: popd
디렉토리를 제거하지 않습니다.역사, 에서 제거합니다.디렉토리 스택.