Another zsh-related post. This one is about defining a function that will allow you to define aliases for directories so that you don’t need to type something like ‘cd /this/is/a/very/long/path/in/the/filesystem’, but only ‘cdb some-alias’ (cdb - Change Directory with Bookmarks)
You can copy the script to your .zshrc, or create a zsh module as described in my previous post
# Module: Change directory with bookmarks
# path: bin/zsh-modules-available/cdbookmarks
function cdb_edit() {
vim ~/.cdbookmarks
}
function cdb() {
NewDir=`egrep "^$1<TAB_KEY>" ~/.cdbookmarks \
| sed 's/^.*<TAB_KEY>//'`;
echo cd $NewDir
cd $NewDir
}
function _cdb() {
reply=(`cat ~/.cdbookmarks | sed 's/<TAB_KEY>.*$//'`);
}
compctl -K _cdb cdb
That’s it. To define the bookmarks, create a file named ~/.cdbookmarks and the bookmarks in the following format:
(no spaces)
Cheerio!
I use a pretty nearly unconfigured zsh, I'm sure I could learn a lot if you posted your whole config.