If you work with multiple terminal tabs or windows—especially in iTerm or Terminal.app—you've probably noticed that each session maintains its own isolated command history. This becomes frustrating when you run a command in one tab and want to recall it in another. By default, bash only saves history when a session closes, and each session can overwrite the others' history.
Tag: shell
Introduction
I've been using Git for a few years now, and while it's an amazing tool, the command-line workflow can be tedious. How many times have you done this?
$ git status
# On branch master
# Changes not staged for commit:
# modified: app/controllers/users_controller.rb
# modified: app/views/users/show.html.erb
# modified: config/routes.rb
$ git add app/controllers/users_controller.rb
$ git add app/views/users/show.html.erb
All that typing! Especially when you have deeply nested file paths. I recently discovered a tool called SCM Breeze that solves this problem elegantly.
Introduction
I've been a bash user for years. It's the default on most Linux systems and Mac OS X, and it works fine. But I kept hearing about Zsh (Z Shell) and how much better it is – better tab completion, better history searching, more customization options.
The problem is that Zsh is intimidating to configure. The configuration file can be hundreds of lines long, and getting it right requires deep knowledge of shell scripting.