Em zsh , geralmente faço:
cd /path/to/somefile(:h)
( h para head ).
Se somefile for um link simbólico, você também pode fazer:
cd somefile(:A:h)
Para chegar ao diretório em que o destino do symlink pode ser encontrado.
O zsh equivalente da solução de Chris 'agora bash -only seria:
cd() {
[[ ! -e $argv[-1] ]] || [[ -d $argv[-1] ]] || argv[-1]=${argv[-1]%/*}
builtin cd "$@"
}
Em zsh , você também pode redefinir o que as "palavras" Ctrl-W eliminam.
Em zsh , "palavras" no contexto dos widgets de movimento / transposição / exclusão baseados em palavras são sequências de alnums mais os caracteres na variável $WORDCHARS , que por padrão inclui / .
Você pode remover / de $WORDCHARS para que Ctrl-W exclua apenas um componente do caminho:
WORDCHARS=${WORDCHARS/\/}
Outra extensão útil é o widget select-word-style , que você pode usar para escolher interativamente entre diferentes estilos de palavras.
autoload select-word-style
zle -N select-word-style
bindkey '\ew' select-word-style
Em seguida, pressionar Alt-W permite escolher entre diferentes estilos de palavras.
$ 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
?