A port of Bashmarks (simple bookmarking plugin by Todd Werth) for oh-my-zsh
Switch branches/tags
Nothing to show
Clone or download
jocelynmallon Merge pull request #29 from ftclausen/quicksave_current_dir
Quick save current directory as bookmark name if no name specified
Latest commit a766c6b Mar 31, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
functions Add support for Prezto Sep 2, 2015
README.md Add zplug instructions Dec 5, 2015
_jump_showmarks_deletemark Add support for Prezto Sep 2, 2015
init.zsh Add support for Prezto Sep 2, 2015
zshmarks.plugin.zsh Quick save current directory as bookmark name if no name specified Oct 28, 2016



A port of Bashmarks (by Todd Werth), a simple command line bookmarking plugin, for oh-my-zsh

How to install


  • Download the script or clone this repository in oh-my-zsh plugins directory:

      cd ~/.oh-my-zsh/custom/plugins
      git clone https://github.com/jocelynmallon/zshmarks.git
  • Activate the plugin in ~/.zshrc:

      plugins=( [plugins...] zshmarks [plugins...])
  • Source ~/.zshrc to take changes into account:

      source ~/.zshrc


Add antigen bundle jocelynmallon/zshmarks to your .zshrc where you're adding your other plugins. Antigen will clone the plugin for you and add it to your antigen setup the next time you start a new shell.


For most people the easiest way to use zshmarks with prezto is to manually clone the zshmarks repo to a directory of your choice (e.g. /usr/local or ~/bin) and symlink the zshmarks folder into your zpretzo/modules folder:

    ln -s ~/bin/zshmarks ~/.zprezto/modules/zshmarks

Alternatively, you can add the zshmarks repository as a submodule to your prezto repo by manually editing the '.gitmodules' file:

    [submodule "modules/zshmarks"]
    	path = modules/zshmarks
    	url = https://github.com/jocelynmallon/zshmarks.git

Then make sure you activate the plugin in your .zpreztorc file:

    zstyle ':prezto:load' pmodule \
    zshmarks \


Add the following to your .zshrc file somewhere after you source zplug.

    zplug "jocelynmallon/zshmarks"


  • jump - used to 'jump' (cd) to the given bookmark directory. If the bookmark directory contains a 'setenv-source-me.sh' file, it will check to see if it's already been sourced, and source the file if necessary. This has been deprecated for security and simplicity. If users need this functionality, the zsh plugin 'autoenv' is a good choice.

      jump 'foo'
  • bookmark - used to create a new bookmark for your current working directory

      cd 'some_dir'
      bookmark 'foo'
  • deletemark - used to delete a bookmark

      deletemark 'foo'
  • showmarks - prints a list of all saved bookmarks, or print the directory information for a single, specific bookmark

      showmarks 'foo'


You can change the location of the bookmarks file (default is $HOME/.bookmarks) by adding the environment variable 'BOOKMARKS_FILE' to your shell profile.

    export BOOKMARKS_FILE="foo/bar"

If you were expecting this to be a port of similarly named Bashmarks (by huyng), you can setup zshmarks to behave in roughly the same way by adding the following aliases to your shell setup files/dotfiles:

    alias g="jump"
    alias s="bookmark"
    alias d="deletemark"
    alias p="showmarks"
    alias l="showmarks"

(You can also omit the "l" alias, and just use p without an argument to show all bookmarks.)