In zsh
, spesso faccio:
cd /path/to/somefile(:h)
( h
per head
).
Se somefile
è un collegamento simbolico, puoi anche fare:
cd somefile(:A:h)
Per raggiungere la directory in cui è possibile trovare la destinazione del collegamento simbolico.
L' zsh
equivalente dell'unica bash
soluzione di Chris sarebbe:
cd() {
[[ ! -e $argv[-1] ]] || [[ -d $argv[-1] ]] || argv[-1]=${argv[-1]%/*}
builtin cd "$@"
}
In zsh
, puoi anche ridefinire quali "parole" Ctrl-Wrimuovono.
In zsh
"parole" nel contesto dei widget di movimento / trasposizione / eliminazione basati su parole sono sequenze di allarmi più i caratteri nella $WORDCHARS
variabile che per impostazione predefinita include /
.
È possibile rimuovere /
in $WORDCHARS
modo da eliminare Ctrl-Wsolo un componente del percorso:
WORDCHARS=${WORDCHARS/\/}
Un'altra utile estensione è il select-word-style
widget che è possibile utilizzare per scegliere in modo interattivo tra diversi stili di parole.
autoload select-word-style
zle -N select-word-style
bindkey '\ew' select-word-style
Quindi premendo Alt-Wpuoi scegliere tra diversi stili di parole.
$ 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
?