# Fastfile plugin This plugin adds a way to reference certain files or folders used frequently using a global alias or shortcut. To use it, add `fastfile` to the plugins array in your zshrc file: ```zsh plugins=(... fastfile) ``` ## Usage Example: you access folder `/code/project/backend/database` very frequently. First, generate a shortcut with the name `pjdb`: ```zsh $ fastfile pjdb /code/project/backend/database ``` Next time you want to access it, use `§pjdb`. For example: ```zsh $ cd §pjdb $ subl §pjdb ``` where § is the fastfile prefix (see [below](#options) for how to change). **Note:** shortcuts with spaces in the name are assigned a global alias where the spaces have been substituted with underscores (`_`). For example: a shortcut named `"hello world"` corresponds with `§hello_world`. ## Functions - `fastfile [path/to/file/or/folder]`: generate a shortcut. If the second argument is not provided, the current directory is used. - `fastfile_print `: prints a shortcut, with the format ` -> `. - `fastfile_ls`: lists all shortcuts. - `fastfile_rm `: remove a shortcut. - `fastfile_sync`: generates the global aliases for the shortcuts. ### Internal functions - `fastfile_resolv `: resolves the location of the shortcut file, i.e., the file in the fastfile directory where the shortcut path is stored. - `fastfile_get `: get the real path of the shortcut. ## Aliases | Alias | Function | |--------|------------------| | ff | `fastfile` | | ffp | `fastfile_print` | | ffrm | `fastfile_rm` | | ffls | `fastfile_ls` | | ffsync | `fastfile_sync` | ## Options These are options you can set to change certain parts of the plugin. To change them, add `=` to your zshrc file, before Oh My Zsh is sourced. For example: `fastfile_var_prefix='@'`. - `fastfile_var_prefix`: prefix for the global aliases created. Controls the prefix of the created global aliases. **Default:** `§` (section sign), easy to type in a german keyboard via the combination [`⇧ Shift`+`3`](https://en.wikipedia.org/wiki/German_keyboard_layout#/media/File:KB_Germany.svg), or using `⌥ Option`+`6` in macOS. - `fastfile_dir`: directory where the fastfile shortcuts are stored. Needs to end with a trailing slash. **Default:** `$HOME/.fastfile/`. ## Author - [Karolin Varner](https://github.com/koraa)