Zsh-шпаргалки. Приёмы навигации

Как было сказано в одной из шпаргалок общего назначения, для перемещения по файловой системе служит команда cd. Эта внутренняя команда (built-in commands) имеется и в zsh. Причём в усовершенствованном (по сравнению с bash) виде.

Одно из таких усовершенствований — автодополнение сокращённого ввода пути. То есть если набрать в командной строке

$ cd /h/p/s

и затем нажать клавишу табуляции, введённая последовательность развернётся в полный путь:

$ cd /home/proj/suseana

Для успеха чего достаточно уникальности сочетания всех последовательностей символов — в отличие от простого автодополнения, которое будет спотыкаться на первой же неоднозначности и предлагать альтернативу. То есть последовательность

$ cd /u/s/f/t

развернётся по нажатии на Tab в

$ /usr/share/fonts/truetype/

без единого дополнительного вопроса.

А ещё в zsh для перемещений по файловой системе можно вообще обойтись без команды cd. То есть конструкция типа

$ /usr/share/fonts/truetype/

волшебным образом переместит вас в указанный каталог. Более того, после нажатия на Tab это сделает и сокращённая последовательность:

$ /u/s/f/t

«Бескомандный» переход прекрасно работает с символами каталогов. Так, директива

$ ~

переместит пользователя в его домашний каталог, директива

$ ..

— в каталог, родительский относительно текущего. Ну а такая вот штука, как

$ ...

поднимет его сразу на два уровня выше — то есть из, например, каталога /home/proj/suseana в /home.

В заключении ещё раз повторю: всё сказанное имеет силу при использовании $HOME/.zshrc типа того, что указан на этой странице.


К содержанию | Zsh-шпаргалки