tmux Icon


tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen.
6 Stories
All Topics


Multi-user tmux made easy with wemux

Two of the many things in the development community that are growing in popularity are remote work and pair programming. Traditionally, pairing meant you had two people looking at the same computer and one person doing the typing. This is great, as long as you are in the same room. What about those developers, like myself, who rarely (if ever) find themselves in the same room as their coworkers? Enter wemux by Matt Furden, the tmux tool that makes it simple for multiple users to connect to the same tmux session so you can see the same thing. The only requirement, according to the README, is tmux >= 1.6. Installation is simple, with the preferred method being Homebrew: >> brew install After installation, you — the host — would start a new wemux server: >> wemux start At this time, anyone else — the clients — could connect with any of the following three commands: wemux mirror - attach to the server in read-only mode. wemux pair - attach to the server in pair mode, where both the client and the host can control the terminal. wemux rogue - attach to the server in rogue mode, where the client and host can work independently of eachother. There are plenty of other features, from listing users to running multiple wemux servers at once. Once you get the hang of it, pairing while working remotely becomes much simpler than screen sharing on Skype! You can find out everything you need to know in the README or discuss this post on HackerNews.



vimux - Simple, extensible vim integration with tmux

You may recall Josh gushing about tslime on Episode 0.7.3. While tslime makes it easy to send input from Vim to a tmux session, Ben Mills wanted a bit more, so he created Vimux. Vimux gives you a tmux pane in which to execute commands, all without losing focus in vim. Commands can easily be set up in your .vimrc to do common tasks: " Prompt for a command to run map rp :PromptVimTmuxCommand " Run last command executed by RunVimTmuxCommand map rl :RunLastVimTmuxCommand " Inspect runner pane map ri :InspectVimTmuxRunner " Close all other tmux panes in current window map rx :CloseVimTmuxPanes " Interrupt any command running in the runner pane map rs :InterruptVimTmuxRunner Check out Ben’s introductory blog post for background and how they’re using Vim and tmux at Braintree (which I highly recommend for payment processing by the way).



teamocil: Ruby and YAML-powered terminal layout manager for tmux

It’s a bit ironic that as a UX developer I spend most of my time in the terminal. That’s why I’m always on the lookout for new tools that improve my command line user experience. My latest find is Teamocil a nice Ruby gem from Rémi Prévost that manages your tmux layouts. For those new to tmux: tmux is a terminal multiplexer: it enables a number of terminals (or windows), each running a separate program, to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached. Here’s a quick look at a simple Teamocil and tmux layout in action: To set up your own tmux session, you’ll need to install it via your favorite package manager. On the Mac, I use Homebrew. brew install tmux Next, you’ll need the Teamocil gem: gem install teamocil Now we need to set up our layout: mkdir ~/.teamocil touch ~/.teamocil/styles.yml Here’s my quick 50-50 split example from the screenshot: thechangelog » cat ~/.teamocil/styles.yml ~/Blogs/thechangelog windows: - name: prototype splits: - cmd: cd ~/hp/code/styles - cmd: - cd ~/hp/code/styles - serve width: 50% Now we just run tmux and teamocil: $ tmux $ teamocil styles Be sure and check the Readme for more info or how to create vertically split layouts, too. [Source on GitHub]

0:00 / 0:00