I have a love affair with my terminal. This is my collection of
terminal configuration files that (attempt to) make daily use of the
terminal easier, faster, and perhaps even more enjoyable. It’s all
about strengthening the bond
Configuration exists to target
- OSs: Known to run on OS X (+ Homebrew), FreeBSD, & Ubuntu Linux
- Shell: Primarily Zsh, but with Bash configuration
- Languages: Primarily targeting for Ruby & Clojure development
- Editor: Vim
- VCS: Git
Bash, Zsh, & Vim all support "localrc" files in the home directory which are loaded after all other configuration:
- Bash & Zsh:
The preferred method of achieving this is by placing the files in the
directory, prefixed with your machine's name (as displayed by
running the install script these will automatically be linked accordingly. This
allows machine-specific configuration to be stored in the repository
There’s a lot more than what is listed here, as there are too many small features to list. Explore the code to find everything.
- Intelligent shortening of the current working directory in the prompt to prevent the prompt from becoming awkwardly long.
- Prompt color changes depending on if connection is via SSH or not.
- Minimalist prompt. Doesn’t display directory if home, doesn’t display username if it’s your own, doesn’t display machine name if local (since hopefully you know what machine you’re on then).
ccommand for quick switching to code projects (in multiple directories), with tab-completion.
- On OS X Lion, includes a port of Bash’s copying of the current directory when opening a new tab in Terminal.app.
Bash & ZSH
extractcommand to uncompress most common formats.
playcommand as a quick shortcut for Emacs games (Tetris, Pong, Snake, etc.).
pmancommand to open a man page in Preview, respectively (Mac only).
License & Credits
Copyright © 2011–2015 J. Andrew Marshall. License is available in the LICENSE file.
Original inspiration from Ryan Bates.