11 ms·
tmux 1.8 Released
- ludwig 14y agoFor what it's worth, here is my carefully crafted ~/.tmux.conf file. I was used to screen, so I carried most of the keybindings along when I switched to tmux. https://github.com/ludwig/dotfiles/blob/master/tmux.conf https://github.com/ludwig/dotfiles/blob/master/tmux.conf
- jterenzio 14y agoChangelog: http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/CHANGES http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/CHANG...
- jlgreco 14y ago* Resizing panes will now reflow the text inside them. Finally! I did not expect this feature, I thought the author was opposed to it. It is the one thing I have missed from screen (and part of the reason why I originally started using screen, since xterm does not reflow on resize either).
- esamatti 14y agoMy favorite "resize-pane learnt '-Z' for zooming a pane temporarily."
- jterenzio 14y ago"ctrl-[prefix] z" toggles zooming in on a pane now, this is awesome!!!
- luser001 14y agoAnybody know if it's possible to move between terminal windows (panes in tmux lingo) "clockwise" and "anti-clockwise"?
- rozap 14y agoCtrl+b and then arrow keys will get you switching in all directions.
- srbravo1 14y agoAFAIK there are tmux 'windows' which are like tabs and 'panes' which are vertical and horizontal splits in 1 tmux window but assuming you mean 'panes', it seems you can: Ctrl-b o to move around the current window's panes clockwise. Although I prefer inputing a given direction like the other replier suggested with arrow keys. For me moving between windows and panes is something that I do a lot. So much so that I removed the need to use the 'tmux prefix' to do so. In my ~/.tmux.conf I have for window and pane switching: # set pane switching with <alt>{U, E, N, I} for up, down, left, right and respectively without needing prefix bind -n M-N select-pane -L bind -n M-I select-pane -R bind -n M-U select-pane -U bind -n M-E select-pane -D # set window switching without needing prefix bind -n M-a select-window -t :1 bind -n M-r select-window -t :2 bind -n M-s select-window -t :3 bind -n M-t select-window -t :4 bind -n M-d select-window -t :5 bind -n M-h select-window -t :6 You can just replace the keybindings I chose like M-a (alt-a) to something that works for you. If you want to keep using a prefix (incase you are worried the keybindings will clash with other program/system bindings), remove the '-n' flag. Hope that helps. If it doesn't here is a tutorial I found from a google search: http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/ http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multip... and IMO a really good book on Tmux if you decide to dive in more: http://www.amazon.com/tmux-Productive-Mouse-Free-Development-ebook/dp/B00A4I3ZVY/ref=sr_1_1?ie=UTF8&qid=1364581708&sr=8-1&keywords=tmux http://www.amazon.com/tmux-Productive-Mouse-Free-Development...
- andyl 14y agoWhat is the simplest way to install tmux 1.8 on Ubuntu 12.04?? Running `sudo apt-get install tmux` puts tmux 1.6 on my system...
- jlgreco 14y agoUntil it is packaged, it is fairly easy to build yourself. You just need libevent and ncurses.
- lclarkmichalek 14y agoWell the easiest way is either to wait for it to appear in the repos or wait for someone to package it and put it into a PPA. However, it doesn't have that many dependencies, so building it yourself is another not too stressful option.
- micah94 14y agoI wouldn't suggest a questionable .deb somewhere...so you best just download source and ./configure then make then make install as described in the README: http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/README http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/READM.... You might need: 'apt-get install libevent-dev' as a prerequisite.
- pkrumins 14y agopushd /tmp && \ wget 'http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.8/tmux-1.8.tar.gz?r=http%3A%2F%2Ftmux.sourceforge.net%2F&ts=1364579710&use_mirror=garr' && \ gunzip < tmux-1.8.tar.gz | tar -vx && \ cd tmux-1.8 && \ ./configure --prefix=~/installs/tmux-1.8 && \ mkdir ~/installs && \ make && \ make install && \ popd
- thelarry 14y agoShould i finally switch from screens to tmux?
- pavel_lishin 14y agoYou should have switched a long time ago, but now is as good a time as any :P
- christopheraden 14y agoYou're going to open a big can of worms with that one ;). Tmux has quite a few more features than Screen, with Screen having a few features that are useful in edge cases[1]. It's hard to argue with tmux having bindings for vi/Emacs, as well. If you're on a mac and use iTerm2, using tmux is somewhat of a no-brainer, thanks to the integration between tmux and iTerm2[2]. 1: http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/FAQ http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/FAQ 2: https://code.google.com/p/iterm2/wiki/TmuxIntegration https://code.google.com/p/iterm2/wiki/TmuxIntegration
- jlgreco 14y agoWith reflowing text added to tmux, and giving that "Lots and lots of bug fixes, fixing memory-leaks, etc." the benefit of the doubt, then I would say that unless you have a specific use case of screen (and if you do, you know it) then you should be using tmux.
- deelowe 14y agoI've loved tmux since I switched a couple of years ago. Try it out for a few weeks. I think you'll like it better than screen.
- cake 14y agoI switched from screen to tmux to screen back again. tmux seemed slower while switching windows, plus I like the simplicity of screen.
- Watabou 14y agoUsing tmux 1.8 and switching between windows is super fast.
- AlexanderDhoore 14y agoTmux + Vim = Pure Awesome. I use vim-slime[1] to send strings to other panes in tmux. I never type anything directly into a REPL. I just send my code from Vim to it. It's amazing with lisp or python. (A little less amazing with php, as the php repl IS AWEFUL) [1] https://github.com/jpalardy/vim-slime https://github.com/jpalardy/vim-slime
- tunnuz 14y agoI totally agree. Plus, I use tmux + top, tmux + watch at work to get a quick idea on how my running experiments are going. It's really effective.
- iron_ball 14y agoRuby users may also be interested in adding pry to that setup: http://www.alanmacdougall.com/blog/2012/03/27/using-vim-slime-with-pry-for-repl-perfection/ http://www.alanmacdougall.com/blog/2012/03/27/using-vim-slim... (disclosure: my own blog)
- danielweber 14y agoI love web pages like this. The top of it reads: "tmux is a terminal multiplexer" "What is a terminal multiplexer? It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. And do a lot more. See the manual." That's awesome. So many times someone posts on HN "CaffBook.ly.errr 0.98 now released" and I have no idea what it is or why I would want it.
- theDoug 14y agoI appreciated it too. I've heard tmux mentioned plenty of times but never with a mention of what it is/does. That one line did it.
- sprrlf 14y agoAfter years of using screen i switched to tmux.. i'm sure i'm not even using a 5th of the functionality but i love it.
- jervisfm 14y agoWhat are the primary advantages that tmux has over GNU screen that you found ?
- kokey 14y agoI'm also wondering about this. I've been using screen for almost 20 years, and wonder if there's a compelling reason to switch.
- elithrar 14y agoTake a look here: http://unix.stackexchange.com/questions/549/tmux-vs-gnu-screen http://unix.stackexchange.com/questions/549/tmux-vs-gnu-scre... Some of it is arguable, but for me one of the greatest benefits is how tmux will auto-resize to the smallest terminal connected, making it useful for screen sharing or when connecting to an existing session from a mobile device.
- Cthulhu_ 14y agoI want to like tmux, I really do, but my main gripes are scrolling in panes with the scroll wheel and selecting / copy/pasting text. iTerm (osx) or Terminator (linux) handle that much better, although I admit they can't really be compared technology-wise. Alternatively, I never figured out how to select / copy text just as fast in tmux / vim / etc as with the mouse.
- caipre 14y agotmux has mouse mode to enable scrolling/clicking. This appears to be a helpful article: http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/ http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/
- zaius 14y agoAdd these to your ~/.tmux.conf setw -g mode-mouse on setw -g mouse-select-window on setw -g mouse-select-pane on setw -g mouse-resize-pane on Then you can scroll in panes, but also select like normal by holding alt/option.
- andyl 14y agoI also hated tmux mouse wheel scrolling. But tmux 1.8 mouse wheel scrolling seems much improved over tmux 1.6 - to the point that it looks quite usable.
- onedognight 14y agoUse iTerm2. One of the new features of tmux is > * Control mode, which is a way for a client to send tmux commands. > Currently more useful to users of iterm2. With this, if you connect to tmux via iTerm2, you can get it to pop up a window with tabs for each shell in the tmux session. History via the mouse wheel is native, changing tabs is native, new tab is native. Essentially you don't need to know any of the tmux commands at all unless you connect from a terminal program that doesn't know the protocol.
- srik 14y agotmux status bars are customizable(no surprises there I guess) and the powerline is one of the nicer status bar arrangements - https://github.com/erikw/tmux-powerline https://github.com/erikw/tmux-powerline
- mcrittenden 14y agoIs there any compelling reason to use tmux if you're already using a tiling window manager?
- caipre 14y agoPersistent sessions is a nice feature.
- Goranek 14y agowhen you're using ssh/mosh
- andyl 14y agoDetached sessions on remote systems.
- oftenwrong 14y agoIf that is the only reason, one could just use dtach instead. http://dtach.sourceforge.net/ http://dtach.sourceforge.net/
- n0mad01 14y agoi've switched from tmux to screen to byobu ( which is a wrapper for screen ) because of its simplicity. screen also has very little problems, with tmux i always had time costly issues.
- jscheel 14y agoIf you like tmux, also check out teamocil (https://github.com/remiprev/teamocil https://github.com/remiprev/teamocil) to really enhance your use. It enables you to define tmux sessions via YAML, which is great for programmatically setting up a complex dev session. Mine, for example, fires up six panes in my preferred layout, and starts up a particular part of our project in each pane.
- petepete 14y agoAh, that looks excellent for more complicated setups. I've been using the slightly simpler tmuxinator. https://github.com/aziz/tmuxinator https://github.com/aziz/tmuxinator
- jscheel 14y agoI used to use tmuxinator, but it's pretty much abandoned. There are pull requests that are over a year old. On the other hand, I submitted a pull request to teamocil and it was merged the same day.
- js-coder 14y agoI'll actually help maintain tmuxinator now. :) The project is really awesome but the author doesn't have enough time for it, so he added me to the project a few days ago. I'll go through the pull requests soon.
- jscheel 14y agoThat's good to hear. I always hate to see good projects die because their creators are super busy. Good luck with taking things over!
- kevinastone 14y agoUpvote for the best named project I've ever seen.
- 14y ago
- Keyneston 14y agoAnyone know if it is possible to do single combination keybindings? Currently all of the keybindings are things like 'Ctrl+W L', whereas I'd like to do things like 'Command+L'?
- bphogan 14y agoIf you use bind-key -n C-f some-tmux-command it'll bind directly to Contrl-f. The -n means no prefix. I don't know how you'd make tmux recognize the Mac's command key though.
- cturner 14y agoI realise you can rebind them, but both screen and tmux do themselves a disservice by choosing binding keys which overlap with prominent keys in emacs and for users who use emacs mode in their shell. First impressions count. If you want to configure tmux to use just a backtick as the escape, create ~/.tmux.conf unbind C-b set -g prefix ` bind-key ` send-prefix When you need to type a backtick just press it twice. For screen, I used to do this: escape `` .. in ~/.screenrc, but I've just tried it and it seems that there's now no easy way to type a backtick when you need one. Query: in screen I can switch between two buffers by doing ctrl+a, ctrl+a. This doesn't work in tmux. How do I configure this to work in tmux?
- stevekemp 14y ago> Query: in screen I can switch between two buffers by doing ctrl+a, ctrl+a. This doesn't work in tmux. How do I configure this to work in tmux? "Ctrl-b n" for next-window?
- cturner 14y agoThat's not quite what I'm after. I guess it's hard for non-screen people to know what I'm talking about from my vague description above :) Here's a scenario to show what I mean: you're in buffer 5. You switch to buffer 2. Now if you do ctrl+a, ctrl+a, you leap back to buffer 5. And if you do it again, you go back to buffer 2. This is great when you're editing code in one session and running it in the other.
- sunyc 14y agoi suggest new commer give byobu a try, a wrapper of tmux.
- n0mad01 14y agoits actually a wrapper for screen as also for tmux, the standard ubuntu package uses screen. byobu is really recommended because its simple to use yet powerfull. http://en.wikipedia.org/wiki/Byobu_(software) http://en.wikipedia.org/wiki/Byobu_(software)
- VaucGiaps 14y agoIncompatible Changes ==================== * layout redo/undo has been removed. Normal Changes ============== * Add halfpage up/down bindings to copy mode. * Session choosing fixed to work with unattached sessions. * New window options window-status-last-{attr,bg,fg} to denote the last window which was active. * Scrolling in copy-mode now scrolls the region without moving the mouse cursor. * run-shell learnt '-t' to specify the pane to use when displaying output. * Support for middle-click pasting. * choose-tree learns '-u' to start uncollapsed. * select-window learnt '-T' to toggle to the last window if it's already current. * New session option 'assume-paste-time' for pasting text versus key-binding actions. * choose-* commands now work outside of an attached client. * Aliases are now shown for list-commands command. * Status learns about formats. * Free-form options can be set with set-option if prepended with an '@' sign. * capture-pane learnt '-p' to send to stdout, and '-e' for capturing escape sequences, and '-a' to capture the alternate screen, and '-P' to dump pending output. * Many new formats added (client_session, client_last_session, etc.) * Control mode, which is a way for a client to send tmux commands. Currently more useful to users of iterm2. * resize-pane learnt '-x' and '-y' for absolute pane sizing. * Config file loading now reports errors from all files which are loaded via the 'source-file' command. * 'copy-pipe' mode command to copy selection and pipe the selection to a command. * Panes can now emit focus notifications for certain applications which use those. * run-shell and if-shell now accept formats. * resize-pane learnt '-Z' for zooming a pane temporarily. * new-session learnt '-A' to make it behave like attach-session. * set-option learnt '-o' to prevent setting an option which is already set. * capture-pane and show-options learns '-q' to silence errors. * New command 'wait-for' which blocks a client until woken up again. * Resizing panes will now reflow the text inside them. * Lots and lots of bug fixes, fixing memory-leaks, etc. * Various manpage improvements.
- sethish 14y ago> * Resizing panes will now reflow the text inside them. This is all I needed to know to upgrade.
- alepper 14y agoTwo things I missed from screen last I tried tmux: an equivalent of 'screen -xRR' and an orthogonality between terminals and windows so that distinct terminals connected to one session can display different windows. Especially the latter of these is integral to my workflow.
- nachteilig 14y agotmux has been a great recent upgrade for me -- switched from a bunch of nested screens. really highly recommended.
- bjliu 14y agohttp://www.tenshu.net/p/terminator.html http://www.tenshu.net/p/terminator.html kinda like this...
- rdtsc 14y agoI use that one, I love it!
- tiziano88 14y ago... Except the splits are inside the terminal session, so if you connect from another machine, you'll have access to all your panes
- andyl 14y agoWith terminator, you can have a windowing editor (vim) inside a windowing session manager (tmux) inside a windowing terminal (terminator). Inception!
- qznc 14y ago... inside a window manager (compiz) inside a nested x session (Xnest) inside a virtual machine (VirtualBox) inside a chroot.
- sasvari 14y agoHere [0] is a nice introduction to the newly introduced zoomed panes feature in tmux 1.8 by Tom Ryder. [0] http://blog.sanctum.geek.nz/zooming-tmux-panes/ http://blog.sanctum.geek.nz/zooming-tmux-panes/
- gfodor 14y agoneat. this was the one feature i missed from xmonad!
- javanix 14y agoChangelog: http://sourceforge.net/p/tmux/tmux-code/ci/1b083aa0fd2d8ac000504488135bf58e35c3361e/tree/CHANGES http://sourceforge.net/p/tmux/tmux-code/ci/1b083aa0fd2d8ac00...
- Sikul 14y agoDoes anyone know where to find a good introduction to tmux? I attempted to start using it a couple of weekends ago but wasn't able to find any good documentation with my google-fu.
- dktbs 14y agoIt costs $ but I really liked this pragprog book: http://pragprog.com/book/bhtmux/tmux http://pragprog.com/book/bhtmux/tmux Really good introduction, and the included config file is a good start.
- mrbill 14y agoAnd the book is $7.20 on Amazon for the Kindle, FYI. I just bought it (versus $14something @ pragprog)
- bphogan 14y agoAuthor here. I know it's better for you to get the book cheaper, but PragProg gives authors 50% royalty on the sale of the book. If you buy it from pragprog, I get more in my pocket than if you buy from Amazon. Either way, thanks for reading. I hope it's enjoyable. Some minor updates are coming to the book too.
- bphogan 14y agoGlad you liked the book. I'm going to rolling out some minor changes in a couple days just to keep it updated with 1.8.
- andyl 14y agoThere's this: http://pragprog.com/book/bhtmux/tmux http://pragprog.com/book/bhtmux/tmux
- christiangenco 14y agoTo install/update on a mac, install Homebrew[1] and run `brew install tmux`. 1. http://mxcl.github.com/homebrew/ http://mxcl.github.com/homebrew/
- faukner 14y agohttp://www.forumbiodiversity.com/ http://www.forumbiodiversity.com/
- eslaught 14y agoDoes this release have better performance than previous releases? I enjoy using tmux, but for some applications (i.e. with large amounts of text spewing to the console) it just hasn't (historically) performed as well as GNU screen.
- akurilin 14y agoDon't know if I'm the only one in this boat, but I often feel pretty conflicted about upgrading to a newer version of a tool where I have had a lot of configuration and shortcuts defined for ages. If any of them break, you'll have to go back and dig through the arcane tmux config file, figure out what changed.
- q_revert 14y agothe new choose-tree commmand is superb, for anyone who regularly uses tmux and already understands how great it is, you should consider upgrading for this alone.. with several sessions running on most of my machines, i frequently found myself `detaching` and `reattaching` to a different session... as the `choose-session` command gives you a full list of all the windows, which tends to obfuscate exactly what's going on, particularly if you have a bunch of sessions and windows.. however, the `choose-tree` gives you a session tree, which you can expand and easily identify... meaning that instead of sending `^a d`, followed by tmux attach sessionname you can comfortably do a `^a s` and get where you want to be (presuming you've remapped ^b to ^a) also, you should be using the tmux buffers, `^a =`!
- ZeWaren 14y agoFor the lulz I use neercs. It's the same as screen and tmux, except you get thumbnails of your panes in some kind of taskbar; and most importantly, you can switch between panes with a cube ascii animation, compiz style. http://caca.zoy.org/wiki/neercs http://caca.zoy.org/wiki/neercs
- snitko 14y agoOne thing that I really want is the ability to set different background colors for panes and windows. Sadly, it is a feature of a terminal app, not tmux. One can only imagine tmux would integrate tightly with various terminal applications to accomplish that.
- irahul 14y agoIf you are moving from screen to tmux, it's very easy to configure tmux to behave like screen. Also, for split panes, I like vim bindings('C-a l' for left pane, 'C-a r' for right pane, 'C-a <' for resize pane...). I have bindings for copying tmux buffer to and from clipboard(needs xclip). https://gist.github.com/rahulkmr/5275679 https://gist.github.com/rahulkmr/5275679
- andyana 14y agoid love zmodem support... but I'm probably the only one that uses it
- cnvogel 14y agoYes, that† and the possibility to directly connect to a serial port (like screen does). Would be a huge time-saver for the embedded folks. †) or rather not builtin zmodem-support but generic "run this program with stdin/stdout connected directly to the device" like cu's ~+ escape.
- alinspired 14y agopracically - how is it different form screen ?
- s00pcan 14y ago'copy-pipe' mode command to copy selection and pipe the selection to a command. This is exactly the functionality I was looking for back when it didn't exist. It wasn't immediately obvious how to use this, but here's how: bind-key -t vi-copy 'y' copy-pipe "redis-cli -x set status" set-option -g status-right '#(redis-cli --raw get status)' And now I have a message I just copied to redis in my tmux status bar. I'm planning on doing this with clipboard text next.