summaryrefslogtreecommitdiff
path: root/plugins/jump
diff options
context:
space:
mode:
authorJeroen Janssens <jeroen.janssens@visualrevenue.com>2013-08-15 10:32:01 -0400
committerJeroen Janssens <jeroen.janssens@visualrevenue.com>2013-08-15 10:32:01 -0400
commite368bf1d4aea6ac08ae46d60308e0492e9ab3b85 (patch)
treef388caad8e6d3f024948f0a4fb0ca3b263eddc7b /plugins/jump
parent434f3bc05c5245d7a27ab0bb1ede5b78acc370a4 (diff)
downloadzsh-e368bf1d4aea6ac08ae46d60308e0492e9ab3b85.tar.gz
zsh-e368bf1d4aea6ac08ae46d60308e0492e9ab3b85.tar.bz2
zsh-e368bf1d4aea6ac08ae46d60308e0492e9ab3b85.zip
Add jump plugin, which allows you to easily jump around the file system
Diffstat (limited to 'plugins/jump')
-rw-r--r--plugins/jump/jump.plugin.zsh21
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh
new file mode 100644
index 000000000..b792f544c
--- /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
+}