diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh new file mode 100644 index 00000000..b792f544 --- /dev/null +++ b/plugins/jump/jump.plugin.zsh @@ -0,0 +1,21 @@ +# Easily jump around the file system by manually adding marks +# marks are stored as symbolic links in the directory $MARKPATH (default $HOME/.marks) +# +# jump FOO: jump to a mark named FOO +# mark FOO: create a mark named FOO +# unmark FOO: delete a mark +# marks: lists all marks +# +export MARKPATH=$HOME/.marks +function jump { + cd -P $MARKPATH/$1 2>/dev/null || echo "No such mark: $1" +} +function mark { + mkdir -p $MARKPATH; ln -s $(pwd) $MARKPATH/$1 +} +function unmark { + rm -i $MARKPATH/$1 +} +function marks { + ls -l $MARKPATH | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo +}