Dans zsh
, je fais souvent:
cd /path/to/somefile(:h)
( h
pour head
).
Si somefile
est un lien symbolique, vous pouvez également faire:
cd somefile(:A:h)
Pour accéder au répertoire où se trouve la cible du lien symbolique.
L' zsh
équivalent de la bash
solution désormais unique de Chris serait:
cd() {
[[ ! -e $argv[-1] ]] || [[ -d $argv[-1] ]] || argv[-1]=${argv[-1]%/*}
builtin cd "$@"
}
Dans zsh
, vous pouvez également redéfinir ce que les "mots" Ctrl-Wsuppriment.
Dans zsh
, les "mots" dans le contexte des widgets de mouvement / transposition / suppression basés sur des mots sont des séquences d'aluns plus les caractères de la $WORDCHARS
variable qui inclut par défaut /
.
Vous pouvez supprimer /
de $WORDCHARS
sorte que Ctrl-Wne supprime qu'un seul composant de chemin:
WORDCHARS=${WORDCHARS/\/}
Une autre extension utile est le select-word-style
widget que vous pouvez utiliser pour choisir interactivement entre différents styles de mots.
autoload select-word-style
zle -N select-word-style
bindkey '\ew' select-word-style
Une pression sur Alt-Wvous permet de choisir entre différents styles de mots.
$ 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
?