Create a gist now

Instantly share code, notes, and snippets.

Install and configure tmux on Mac OS X
# First install tmux
brew install tmux
# For mouse support (for switching panes and windows)
# Only needed if you are using (iTerm has mouse support)
Then install
# More on mouse support
# Enable mouse support in ~/.tmux.conf
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
set-window-option -g mode-mouse on
# Install Teamocil to pre define workspaces
# See for configuration examples

Thank you.


@pacemkr Glad you found it helpful!


Thanks for the mouseterm tip!


Works like a charm! Thanks.


Thanks, this was very helpful. What exactly does Teamocil do / why is it necessary?


@agfor It is not necessary. But I find it helps alot! It let's you define project setups, with panes and windows, in a YAML-file. And then just run a command to setup any number of windows and panes running a command. I do all my dev in the terminal, so for each project I have a YAML file that launches vim in one pane, starts SASS-compilation in another, etc etc. So I do not have to manually setup panes everytime I'm developing on a specific project.


Thanks. This worked great!


Great tip! Thanks!




Thanks for the tip. I used EasySIMBL with MouseTerm on Mountain Lion and tmux on a remote Ubuntu and it works really well.


This is so awesome, thanks for this write up. I also used EasySIMBL as @Stuk suggested -- it's working like a champ.

I'd also like to give a shout out to the Tmuxinator gem -- makes tmux setup crazy simple :)


Mucho gracias


Nice work, thank you!


Hmm, I just switched to Mac and relatively new to this whole terminal/tmux environment, but I followed all the steps and it is not working for me. Could there maybe be a problem with me using zsh? Would be really glad for any other help. If I get this to work, tmux would be perfect.

Edit: Got it working, was just an issue with reloading.
tmux source-file ~/.tmux.conf fixed it. Cheers.

Ok, really strange, somehow itg is not working anymore. I played a bit more with the settings and now I have even changed everything to just the necessary lines and I can't scroll anymore. Hmm, now that I think about it, I had bash instead of zsh (installed via brew) for a short time, because of misconfiguration. I can't remember though if it just worked in bash. Anyway, could that maybe be a reason? Any hints would be really appreciated.


Thanks! You might want to add in support for pbpaste and pbcopy via the very useful reattach-to-user-namespace utility, aka tmux-MacOSX-pasteboard.

brew install reattach-to-user-namespace

followed by adding

set-option -g default-command "reattach-to-user-namespace -l <yourshellhere>"

to your .tmux.conf file.


Thank You




Just had to install ragel.

brew install ragel


How about copy? Anyone get that working with default middle click behavior on ubuntu?


It works!


brilliant :)




Works with TotalTerminal. 👍
Use EasySIMBL for Mavericks.


Thanks a lot!




Great man .. worked like magic ...thanks so much :) :)


Perfect ... thanks so much!!!


Thank you, this is so useful!


The gist that keeps on giving...


Thanks for the great mouse support 😃




Thank you


Infinite thanks..


Thanks :)


Awesome! Thank you!


I got this error when I start tmux after adding those lines to .tmux.conf

.tmux.conf:1: unknown option: mode-mouse
.tmux.conf:2: unknown option: mouse-select-pane
.tmux.conf:3: unknown option: mouse-select-window

If you're getting the errors like alexserver mentioned above.

.tmux.conf:1: unknown option: mode-mouse
.tmux.conf:2: unknown option: mouse-select-pane
.tmux.conf:3: unknown option: mouse-select-window

Check your version tmux -V. If it's >=2.1, syntax was simplified to:

# Mouse mode for tmux > 2.1 (Oct 2015)
set -g mouse on for details.


This doesn't work in the newest tmux 2.1, check out tmux/tmux#145
after set -g mouse on do this:
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"


@flov amazingly that incantation worked. thanks!


Nice, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment