From: Sergey Matveev Date: Mon, 6 Apr 2020 09:12:45 +0000 (+0300) Subject: Алиасы имён директорий в zsh X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=086c1e54e6fb5c52b0185ef30af61fac28056033;p=stargrave-blog.git Алиасы имён директорий в zsh Стал я тут что-то часто перемещаться между директориями разных проектов или частей проекта. Даже со всеми автодополнениями это может занимать ощутимое время. Так и хочется сделать некий алиас на директорию. zsh это позволяет: hash -d foo=~/work/foo/bar/baz и cd ~foo перейдёт куда надо, даже сделает подстановку пути prompt. Но в zsh есть и гораздо более мощный инструмент когда можно по частям собирать путь до куда хотим перейти через функу zsh_directory_name_generic. Делая cd ~[gs:p:s] мы говорим о том, чтобы перейти в git директорию scratch (gs), нашего пользователя $USER, в поддиректорию myproject (p) и его documentation (d), задав вот такие настройки: local -A zdn_top=( g ~/git ga ~/alternate/git gs /scratch/$USER/git/:second2 :default: /:second1 ) local -A second1=( p myproject s somproject os otherproject/subproject/:third ) local -A second2=( p myscratchproject s somescratchproject ) local -A third=( s top/srcdir d top/documentation ) Этот пример я взял из документации к этой функе. Сам не использую, ибо пока нет таких сложных переходов, да и квадратные скобки (их набор) напрягают. ---