This is what junior developers experience when I review their code:
In all seriousness I'm here to talk about my terminal. On mac or linux? Mastered all the commands? vi or emacs expert? Think it can't get any better? You're wrong =D
Does your shell look like this?
Does it have history type ahead?
Is it lightning fast?
Does it pick up right where you left it even if you close it?
Mine does all this and more, here's how:
Install the fish shell:
Next is tmux:
Ensure tmux and fish are available in your path (already should be)
Now setup your iterm preferences -> profiles default like this:
Add an executable script to your path named tmx w/ contents:
#!/bin/bash tmux has-session if [ "$?" -eq 0 ] then tmux -CC attach else tmux new-session -d tmux new-window tmux split-window -h tmux split-window -v tmux new-window tmux split-window -v tmux split-window -t 0 -h tmux new-window tmux split-window -v tmux split-window -h tmux split-window -t 0 -h tmux new-window tmux split-window -v tmux split-window -h tmux split-window -t 0 -h tmux -CC attach fi
*you can play with this config to alter your default window/tab startup
(Optional) If you want to open OSX GUI apps from the terminal:
brew install reattach-to-user-namespace
add a .tmux.conf file to you home directory with contents:
set-option -g default-command "which reattach-to-user-namespace > /dev/null && reattach-to-user-namespace -l /usr/local/bin/fish || /usr/local/bin/fish"
*this file can be used to tweak tmux in lots of ways, but for this demo it's just fixing the osx issue