В zsh
, я часто делаю:
cd /path/to/somefile(:h)
( h
для head
).
Если somefile
это символическая ссылка, вы также можете сделать:
cd somefile(:A:h)
Чтобы попасть в каталог, где может быть найдена цель символической ссылки.
zsh
Эквивалент Chris' теперь bash
-только решение будет:
cd() {
[[ ! -e $argv[-1] ]] || [[ -d $argv[-1] ]] || argv[-1]=${argv[-1]%/*}
builtin cd "$@"
}
В zsh
, вы также можете переопределить то, что «слова» Ctrl-Wудаляет.
В zsh
«словах» в контексте основанных на словах виджетов движения / транспонирования / удаления - последовательности чисел плюс символы в $WORDCHARS
переменной, которая по умолчанию включает в себя /
.
Вы можете удалить /
из $WORDCHARS
так , что Ctrl-Wудаляет только один компонент пути:
WORDCHARS=${WORDCHARS/\/}
Еще одним полезным расширением является select-word-style
виджет, который вы можете использовать для интерактивного выбора между различными стилями слов.
autoload select-word-style
zle -N select-word-style
bindkey '\ew' select-word-style
Затем нажатие Alt-Wпозволяет выбирать между разными стилями слов.
$ 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
?