Tacklebox for the Fish ShellSeptember 24, 2015
So you have installed the Fish shell. Now what?
Rather than manually port all of your Bash/Zsh configuration, you might first consider whether someone has already implemented your desired function in Fish. My Tacklebox and Tackle projects are designed to make it easier for you to utilize existing Fish shell plugins, modules, and shell prompt themes — as well as to have an easy way to add your own. You can read more about it in the Tacklebox announcement post.
I often forget which aspects of my computing environment require manual updating, and even when I remember them, recalling the proper update command invocation for each is an additional burden. The
up command simplifies this process considerably.
Use Vundle to manage Vim plugins? Update them via:
Update Python packages via:
Update Vundle, Python, Homebrew, Fish completions, and others via:
Similar to the above, it’s often hard to remember which command invocations to use when extracting compressed archives. Now you can simply use one simple command for a wide variety of file types:
If you have Pixz and a compatible version of Tar (see respective docs for more detail), there’s also a handy
compress command for fast compression of files and directories:
Python virtual environments
If you previously used
virtualenvwrapper to interact with Python virtual environments via Bash, in Fish you should use the Virtualfish module, which is bundled with Tackle. To create a new project in
~/Projects/ and a new virtual environment in
vf project your-project-name
If you already have an existing project, you can create just the virtual environment via:
vf new your-virtual-env-name
When you want to work on your project and activate its virtual environment:
If, like me, you prefer to restrict Pip to virtual environments so as to avoid accidentally installing a Python package into your global
site-packages directory, it can be cumbersome when you occasionally want to invoke Pip globally. You can use the
gpip command to make this easier. For example, to see whether Pip, Setuptools, Wheel, or other global packages are outdated:
gpip list --outdated
These are just a few of the things Tacklebox and Tackle can do to make your Fish shell a more productive place to be. If you have any enhancement ideas, please submit an issue or pull request on the relevant repository. Also, follow me on Twitter to be notified when new handy features are added to Tacklebox and Tackle, and be sure to sign up for early access to Monitorial!