Live data from Hacker News

Benefits of using tmux – streamlining your development environment

blog.bugsnag.com

101–110 of 172 posts

Re: Benefits of using tmux – streamlining your development environment

#101
post #62

To me tmux, like a lot of tools, suffers from bad defaults that makes it less enjoyable to use. One example is not being able to scroll with a mouse. I usually find someone's tmux.conf online and use it, but always run into strange problems that I don't have the energy figuring out. My current conf suffers from the navigation bar going completely black when I try to rename a pane (can't see what i'm typing). Really w…

or at least provide a skeleton config with commented out and thoroughly explained options like this one http://download.redis.io/redis-stable/redis.conf

Re: Benefits of using tmux – streamlining your development environment

#102
post #74
post #62

To me tmux, like a lot of tools, suffers from bad defaults that makes it less enjoyable to use. One example is not being able to scroll with a mouse. I usually find someone's tmux.conf online and use it, but always run into strange problems that I don't have the energy figuring out. My current conf suffers from the navigation bar going completely black when I try to rename a pane (can't see what i'm typing). Really w…

I was able to work out pasting into tmux from the system buffer, but no solutions I've seen for copying out of tmux have ever worked for me. So yes, that's a pretty basic usability issue.

I have a plugin I use for that [1]. I enter copy mode, either by scrolling with the mouse or hitting Prefix + esc. I have the copy mode key bindings set up in vi mode (as is my shell), so I navigate around, hit V to enter visual mode, select some text and hit y. Now that text is in the system clipboard.

https://github.com/tmux-plugins/tmux-yank

Re: Benefits of using tmux – streamlining your development environment

#103

When I was first introduced to tmux, I was really excited by having a terminal session I could reattach to. I was never able to get very deep into it though: (1) a lot of the time a single script would get me up to speed, (2) the extra layer of abstraction broke some stuff I was doing, and (3) I couldn't make heads or tails of a lot of the tmux documentation. I'll definitely take a second look at a lot of the things…

I've found that adding a simple configuration makes tmux a) nicer to look at b) somewhat more intuitive (the default colors made the screen confusing to me.)

This is my current configuration: https://gist.github.com/dguaraglia/f15f39f339545041845612a5b...

With that and using tmuxp to manage a context for each of my projects, I can quickly "launch" a project and have a window with an editing pane, a pane to run tests and a pane to run deployment commands/anything else, all of the panes are already using the correct Python virtualenv, etc.

This is a pretty comprehensive cheatsheet: https://gist.github.com/MohamedAlaa/2961058

Re: Benefits of using tmux – streamlining your development environment

#104
post #90

Earlier quoted context omitted.

This would be great if you get it working. I don't suppose you've got a link for what you've got so far in git or anything? I only make basic use of tmux because I'm more comfortable with i3 key bindings.

Well, it's extremely rudimentary but I put everything on github : https://github.com/roblabla/i3-tmux-integration/tree/in-prog... I'm still stumbling in the dark trying to understand how everything works. Also, the code might be an abomination, my goal was mostly to get stuff working, refactoring will come later. This project is at once a learning project for many things (tmux internals, Rust, IPC in general, i3 IPC)…

That's really cool. I'm a linux user who lusts after all the cool stuff in iTerm2, so I appreciate what you are trying to do.

Re: Benefits of using tmux – streamlining your development environment

#106
"All problems in computer science can be solved by another level of indirection" David J. Wheeler

Tmux/Screen provides an extra redirectable abstraction layer over the terminal device.

The biggest complaint I regularly see about it is that people are used to the screen keybindings. I wonder why not add an abstraction layer there, where keypresses really call commands that perform the actions, and you could reconfigure these.

This is how Emacs has done it for 30 years...

Re: Benefits of using tmux – streamlining your development environment

#107
If you want to get a taste of the benefits of tmux without having to learn anything new, I recommend using iTerm and setting up an alias for

  'ssh [your server] -t "tmux -CC attach || tmux -CC"'
Just running that command will connect to your server and attach to an existing tmux session, or create a new one if needed, and make use of iTerm's tmux integration, so you can use the standard macOS keyboard commands (or the UI) to do things like switch tabs, make new tabs, close them, make new windows, etc. all using tmux and a single ssh connection. You can press 'esc' in the command window to detach from your session and when you return (just using that alias) all your work is just as you left it.

Re: Benefits of using tmux – streamlining your development environment

#108

"All problems in computer science can be solved by another level of indirection" David J. Wheeler Tmux/Screen provides an extra redirectable abstraction layer over the terminal device. The biggest complaint I regularly see about it is that people are used to the screen keybindings. I wonder why not add an abstraction layer there, where keypresses really call commands that perform the actions, and you could reconfigur…

> The biggest complaint I regularly see about it is that people are used to the screen keybindings.

That's my problem with Tmux. Ctrl-a,d is already burned into muscle memory, and for my applications Screen is "good enough".

Re: Benefits of using tmux – streamlining your development environment

#109

"All problems in computer science can be solved by another level of indirection" David J. Wheeler Tmux/Screen provides an extra redirectable abstraction layer over the terminal device. The biggest complaint I regularly see about it is that people are used to the screen keybindings. I wonder why not add an abstraction layer there, where keypresses really call commands that perform the actions, and you could reconfigur…

That is how it is done.

Re: Benefits of using tmux – streamlining your development environment

#110

"All problems in computer science can be solved by another level of indirection" David J. Wheeler Tmux/Screen provides an extra redirectable abstraction layer over the terminal device. The biggest complaint I regularly see about it is that people are used to the screen keybindings. I wonder why not add an abstraction layer there, where keypresses really call commands that perform the actions, and you could reconfigur…

> The biggest complaint I regularly see about it is that people are used to the screen keybindings. That's my problem with Tmux. Ctrl-a,d is already burned into muscle memory, and for my applications Screen is "good enough".

Tmux expects you to rebind its leader to Ctrl-a once you're ready to move off of screen. Otherwise, it's default works nicely if you are nesting screen inside of Tmux or vis-versa
Post reply on HN