En zsh
, a menudo hago:
cd /path/to/somefile(:h)
( h
para head
).
Si somefile
es un enlace simbólico, también puede hacer:
cd somefile(:A:h)
Para llegar al directorio donde se puede encontrar el destino del enlace simbólico.
El zsh
equivalente de la bash
única solución de Chris ahora sería:
cd() {
[[ ! -e $argv[-1] ]] || [[ -d $argv[-1] ]] || argv[-1]=${argv[-1]%/*}
builtin cd "$@"
}
En zsh
, también puedes redefinir lo que las "palabras" Ctrl-Weliminan.
En zsh
, "palabras" en el contexto de los widgets de movimiento / transposición / eliminación basados en palabras son secuencias de alnums más los caracteres en la $WORDCHARS
variable que por defecto incluye /
.
Puede eliminar /
de $WORDCHARS
modo que Ctrl-Wsolo elimine un componente de ruta:
WORDCHARS=${WORDCHARS/\/}
Otra extensión útil es el select-word-style
widget que puede usar para elegir interactivamente entre diferentes estilos de palabras.
autoload select-word-style
zle -N select-word-style
bindkey '\ew' select-word-style
Luego, presionar le Alt-Wpermite elegir entre diferentes estilos de palabras.
$ cd /blah/blih<Alt-W>
Word styles (hit return for more detail):
(b)ash (n)ormal (s)hell (w)hitespace (d)efault (q)uit
(B), (N), (S), (W) as above with subword matching
?
zsh
y los estilos de palabras. Gracias también por elzsh
comando. Hace el trabajo perfectamente.