В zsh я ввожу Ctrl+Z для “приостанавливания” команды, я ввожу и ввожу другую команду. После того, как я выполнил ту команду (или прервал ее с Ctrl+C), приостановленная команда возвращается для выпуска (даже помнящий позицию курсора). Как дополнительное удобство, если командная строка пуста, когда я ввожу Ctrl+Z, ключ вызывает bg
встроенный вместо этого (таким образом, двойной Ctrl+Z отправляет рабочую команду непосредственно в фон).
fancy-ctrl-z () {
emulate -LR zsh
if [[ $#BUFFER -eq 0 ]]; then
bg
zle redisplay
else
zle push-input
fi
}
zle -N fancy-ctrl-z
bindkey '^Z' fancy-ctrl-z
Я не знаю, как сделать что-то подобное в ударе.
В любой оболочке можно использовать не использующий высокие технологии метод добавления a #
в начале текущей строки.
Bash (а также ksh, zsh, и даже пепел) отслеживает изменения каталога так, чтобы cd /foo/bar && cd ..
всегда берет Вас к /foo
даже если bar
символьная ссылка. Передайте -P
опция к cd
проигнорировать отслеженное изменение и следовать за “физической” структурой каталогов:
cd -P ..
Посмотрите help cd
или man builtins
для документации о встроенном ударе cd
. Если Вам действительно не нравится функция отслеживания каталога, можно выключить ее с set -P
в ударе (set -o no_chase_link
в zsh).
Можно также использовать readlink для нахождения физического пути к этому каталогу, затем пойдите один каталог выше:
cd $(readlink -f .)/..
Один метод, который Вы могли использовать, должен использовать псевдоним вместо символьной ссылки для взятия Вас к ~/a/really/long/path. Это - метод, который я использую, с тех пор я могу просто ввести простой 1/2/et cetera команда буквы вместо символьной ссылки CD
-P
или-o physical
уже набор? – Mikel 11.04.2011, 08:14