Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
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.
VimL Shell Ruby ApacheConf Clojure
branch: master
Failed to load latest commit information.
bash Remove duplicate definition of $EDITOR
bin Fix bug with recent-branches sometimes returning nil
lein Update cider
sh_common Whitespace
vim Revert "Use current Ruby for Syntastic"
zsh Remove unused rake autocompletion
.gitignore Add leiningen config
.gitmodules Add vim-projectionist to fix :A, etc. in vim-rake/vim-rails
LICENSE 2015
README.markdown Update readme
ackrc Puppet support
agignore Link agignore to gitignore
bash_logout Clear console on logout
bash_profile Symlink bash_profile to bashrc
bashrc Load paths before constants since some depend on which
colordiffrc Colorize make and diff if possible
colormakerc Don't colorize default output from colormake
editrc Map C-b & C-f in readline and editline to match shell
gemrc Install/update gems with --env-shebang
gitconfig git reword alias to amend without committing staged changes
gitignore Fix gitignore ignoring too much
gvimrc Disable blinking cursor in gvim
inputrc Map C-b & C-f in readline and editline to match shell
install.sh Recursively update/init Git submodules
irbrc Remove IRB helpers that have been supplanted by using Pry
jshintrc Add jshintrc
osx Remove Finder sidebar settings that appear to have no effect
pryrc Indicate in Pry prompt if in line continuation
psqlrc Suppress output from commands in psqlrc
railsrc Don't generate test::unit tests when doing rails new
rbrc Fix gem load path regex and cleanup Unbundler
rspec Add rspec config
tigrc Update tigrc for Tig 2.0
tmux.conf Gracefully fall back in tmux when no reattach-to-user-namespace
useful_commands.txt Finding hosts on LAN is useful
useful_vim.txt Better whitespace matching in 1.9 hash conversion
vimpagerrc Add vimpagerrc for slim config when paging
vimrc Move filetype-specific Vim settings to their own file
zlogout Clear console on logout
zshrc Load paths before constants since some depend on which

README.markdown

Dot Files

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 ;).

Installation

  • Run ./install.sh

Environment

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

Customizing

Bash, Zsh, & Vim all support "localrc" files in the home directory which are loaded after all other configuration:

  • Bash: .bashrc_local
  • Zsh: .zshrc_local
  • Bash & Zsh: .sh_common_local
  • Vim: .vimrc_local

The preferred method of achieving this is by placing the files in the localrcs directory, prefixed with your machine's name (as displayed by hostname). When running the install script these will automatically be linked accordingly. This allows machine-specific configuration to be stored in the repository

Notable features

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.

Bash

  • 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.

ZSH

  • 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).
  • c command 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

  • extract command to uncompress most common formats.
  • play command as a quick shortcut for Emacs games (Tetris, Pong, Snake, etc.).
  • pman command 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.

Various parts inspired by or adapted from Brian Racer, Todd Werth, Gary Bernhardt, & Pivotal Labs/Case Commons. Other credits not listed here may be noted in comments.

Something went wrong with that request. Please try again.