goto
goto
is a bash utility allowing users to change faster to aliased directories supporting auto-completion 🐾
How does it work?
User registers directory aliases, for example:
goto -r dev /home/iridakos/development
and then cd
s to that directory with:
goto dev
goto completion
goto
comes with a nice auto-completion script so that whenever you press the tab
key after the goto
command, bash prompts with suggestions of the available aliases:
$ goto <tab>
bc /etc/bash_completion.d
dev /home/iridakos/development
rubies /home/iridakos/.rvm/rubies
Installation
Clone the repository and run the install script as super user or root
git clone https://github.com/iridakos/goto.git
cd goto
sudo ./install
Usage
Change to an aliased directory
To change to an aliased directory, type:
goto <alias>
Example:
goto dev
Register an alias
To register a directory alias, type:
goto -r <alias> <directory>
or
goto --register <alias> <directory>
Example:
goto -r blog /mnt/external/projects/html/blog
or
goto --register blog /mnt/external/projects/html/blog
Notes
goto
expands the directories hence you can easily alias your current directory with:
goto -r last_release .
and it will automatically be aliased to the whole path.
- Pressing the
tab
key after the alias name, you have the default directory suggestions by bash.
Unregister an alias
To unregister an alias, use:
goto -u <alias>
or
goto --unregister <alias>
Example
goto -u last_release
or
goto --unregister last_release
Notes
Pressing the tab
key after the command (-u
or --unregister
), the completion script will prompt you with the list of registered aliases for your convenience.
List aliases
To get the list of your currently registered aliases, use:
goto -l
or
goto --list
Cleanup
To cleanup the aliases from directories that are no longer accessible in your filesystem, use:
goto -c
or
goto --cleanup
Help
To view the tool's help information, use:
goto -h
or
goto --help
Version
To view the tool's version, use:
goto -v
or
goto --version
TODO
Contributing
- Fork it ( https://github.com/iridakos/goto/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Make sure that the script does not have errors or warning on ShellCheck
- Create a new Pull Request
License
This tool is open source under the MIT License terms.