4 ms·
Show HN: I’m writing an ebook version of the Tao of tmux
A couple of years ago, I written an intro to tmux (https://tmux.github.io/) inside tmuxp's (https://github.com/tony/tmuxp) documentation called The Tao of tmux (https://tmuxp.readthedocs.io/en/latest/about_tmux.html). I'm in the process of turning it into a feature book.
I am aiming for a December 23rd, 2016 release and am plugging away full time.
I make it available to read on the web for free at https://leanpub.com/the-tao-of-tmux/read.
The GitHub is at https://github.com/git-pull/tao-of-tmux.
For pre-ordering:
- The Leanpub page (updated on a regular basis) is https://leanpub.com/the-tao-of-tmux.
- Amazon Kindle: https://www.amazon.com/gp/product/B01MG342KU
- iTunes: https://geo.itunes.apple.com/us/book/the-tao-of-tmux/id1168912720
Also I have a coupon for pre-orders @ $7.99 https://leanpub.com/the-tao-of-tmux/c/oBsI4y3o4quu.
So there are 2 other books available in the now. I prefer my style of writing about tmux and teaching, since I maintain a few open source libraries for tmux I bring my own perspective along. Also I'd rather stay away from publishers, again, I prefer a book that's available for free to read on the web, DRM-free if you pay, and not have to worry about printing :). It's my first book ever so I feel a lot of pressure to get it done right.
I'm definitely open to feedback and requests to add things. I feel a duty to make a really good book for the community. Any help to spread the word is much appreciated!
- leejo 10y agoFrom https://leanpub.com/the-tao-of-tmux/read https://leanpub.com/the-tao-of-tmux/read: > Does tmux persist sessions after restarts? I suggest mentioning tmux-resurrect: https://github.com/tmux-plugins/tmux-resurrect https://github.com/tmux-plugins/tmux-resurrect as this has made me far less grumpy about restarting a machine with many active tmux sessions. Save/Reload all your sessions, windows, panes, and layouts with a single shortcut key.
- git-pull 10y agoThank you, I hear a lot about it. I'm trying it out this morning. That seems like a good recommendation. https://github.com/tmux-plugins/tmux-continuum https://github.com/tmux-plugins/tmux-continuum looks really nice as well. I am interested in knowing any plugins beyond tmuxp / tmuxinator / teamocil that'd be worth covering in the book. https://github.com/tmux-plugins https://github.com/tmux-plugins seems like a great resource.
- underyx 10y ago>It was the days back when phones still had mechanical keyboards. This should probably say physical keyboards. Mechanical typically refers to the ones that go clickety clack. Edit: And >our username’s in the channel persisted in the chatroom list this should say usernames instead. Hope you'll have a proofreader look through all of it!
- git-pull 10y agoThanks for the catch, updated. > Hope you'll have a copywriter look through all of it! I'll likely put the proceeds from the pre-orders to a copywriter. I want the final copy to be best it can be. I appreciate it!
- kgtm 10y agoIf you are on the fence on professional proofreading due to cost, I think that a thorough review by a native English speaker (maybe a good friend) that is at least somewhat technical would be enough to correct a lot of the issues. I find the way you write enjoyable, free-flowing and absolutely understandable, but there are quite a few instances of expressing things in an subtly unnatural way, which detracts from the otherwise great experience. Perhaps this isn't the best example (and some things are subjective too), but to illustrate what I'm saying: > You’ll even know how to show your CPU usage and memory via the status line. I would rewrite that to: > You’ll even find out how to show your CPU usage and memory via the status line. Or even better: > I'll even show you how to display CPU and memory usage right at your status line.
- ShaneOG 10y agoPurchased. For me tmux is amazing but I figure I only use the basics so far. Looking forward to reading this at the weekend.
- neals 10y agoI use TMUX to split screens so I can edit nginx-conf and restart the server form the the same view. That's probably the most basic usage for TMUX, but somebody please enlighten me, what are some 'advanced' uses? How much more than splitting screens is there? Honest question.
- emilburzo 10y agoSlightly relevant: if you find yourself in vim and don't have tmux/are too lazy to open another SSH connection, you can use ":sh" to drop to a shell. So for the nginx edit conf/restart server scenario you would: # vim /etc/nginx/nginx.conf <make changes> :sh # drop to a shell # nginx -t # check config, let's assume it failed due to a missing "}" # exit # go back to vim <make changes> :sh # nginx -t && nginx -s reload # config check passed # exit # back to vim :q # exit vim #
- rz2k 10y agoCtrl-z will send Vim to the background (though you probably can't be in insert mode). `fg` in the shell will then bring the Vim session back to the foreground. If `:sh` doesn't give you your command history and the same working directory, that might be convenient.
- epberry 10y agoHere's a few ways I've used tmux: 1. Hierarchical context management. I use different sessions for different projects. One session might have my main development work, one session for a random debugging session for a coworker, one session for a side project or project euler challenge. Within each session I usually have multiple windows. For main development I have one window that has source code and development, one window for testing, and one window for command line/ data wrangling. Within each window I might have a couple panes, for example in testing I have a split screen with testing code on the left and the command line for running tests on the right. 2. Multiple paste buffers. Recently I had 3 or 4 environmental variables I was setting on some different devices. I stuck them into different copy paste buffers and went to town instead of repeatedly copying and pasting from a document. 3. Alerts. I'll often have a few jobs that run for between an hour and a couple hours that I want to just start and forget about. When they're done you can have tmux give you a notification on the window that the job was in and you can go check it out and do more work. Minor, but interesting use cases: - share tmux sessions with coworkers. I haven't done this as much but it's great for remote debugging. - process persistence. Use this all the time. No more nohup & business. - naming windows. I name almost all my windows like "test" or "hardware". - moving windows and panes around. You can move panes to different windows and windows to different sessions really easily. - save tmux state before shutdown. There's a separate plugin that does this but you an actually write your current session to disk and load it up again when you restart. EDIT: formatting
- e19293001 10y agoI've been using Gnu Screen for two years now. Could you please tell me the reasons why I should switch to tmux?
- Crespyl 10y agoIf you're happy with your screen setup, there's not that much benefit imo, but I made the switch a while ago and have been happy with tmux. Highlights for me: better support for vertical splits/panes, better mouse support, and more convenient scripting features (for instance, integrating xclip and the tmux copy/paste buffer). It's possible that screen has caught up in the last few years, but I haven't followed its development.
- midgetjones 10y agoLooks good, I will definitely give this a read! By the way, I think the first section should be 'foreword', rather than 'forward'.
- git-pull 10y agoFixed. Thank you!
- midgetjones 10y agoNo worries, thanks for your hard work! Really looking forward - pun intended - to reading it :)
- kentt 10y agoCan you pitch me one why I should buy this over: tmux: Productive Mouse-Free Development? I shy away from preorders. Do you have a sign up list of when this is done
- godelski 10y agoIf I can make a suggestion, the cheat sheet is kind of weirdly ordered. It would be helpful if ordered by action, or the actions were grouped together rather than sorted by the command. It is kind of weird that "kill window" is so far from "kill pane", and with things like "display time", "display pane number", and pane movements in between.
- surfcao 10y agoSwitched to Tmux from Screen for a while. One feature I missed most is that, in Screen, I can centralize the command prompt and hide the pane split lines. Anybody know how to get that in Tmux?
- rasengan0 10y agoThanks for the preorder coupon :-) At work, I use tmux on cygwin so something to consider adding for Windows users install instructions. At home, i run it with ubuntu from crouton via chromebook. i get by with the basics which is so powerful and simple with vim over my time with screen and emacs. I look forward to learn more. Cheers, tony