
Hace poco comencé a usarcdr
para zsh
recordar directorios recientes. Solía usar pushd
y cosas por el estilo. Una cosa que extraño es popd
, que básicamente significa "Ya terminé de usar este directorio, colóqueme donde solía estar y elimine esta entrada en la pila".
¿Se puede hacer una semántica similar con cdr
?
Editar: cambie "historial" a "apilar".
Respuesta1
puedes escribir
cdr -p $PWD
y cdr
la voluntadciruela pasael directorio en el que se encuentra de su lista. Para podar otro directorio, simplemente reemplácelo $PWD
con el nombre de ruta absoluta del directorio que desea eliminar. O si desea eliminar un conjunto completo de directorios, también puede usar patrones globales en el argumento. Y antes de cdr -p
realizar cualquier cambio, le mostrará cuáles serán los resultados de su acción y le pedirá que confirme, para que no tenga que preocuparse por "todo el asunto accidentalmente". Verhttp://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Options-2para más información.
Para volver al directorio anterior en el que estamos, haga
cd -
Puedes combinar ambos en una función:
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
}
Por cierto: puedes configurarlo cdr
para que también ejecute cd
comandos. Para habilitar esto, coloque lo siguiente en su ~/.zshrc
archivo:
zstyle ':chpwd:*' recent-dirs-default true
Luego, se pasará a cualquier argumento que pase cdr
y que no sea específico . Entonces no necesitas pensar si usar o ; siempre puedes usarlo para todo. Vercdr
cd
cd
cdr
cdr
http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Configuration-2para más información.
Una cosa que extraño es
popd
, que básicamente significa "Ya terminé de usar este directorio, colóqueme donde solía estar y elimine esta entrada en el historial".
Pequeña corrección: popd
no elimina un directorio dehistoria, lo elimina delpila de directorio.