That said, I agree with your larger point completely -- I love Sublime's command palette, and I love using ivy/counsel for M-x in emacs. It would be even better if tmux had something like that.
That said, I agree with your larger point completely -- I love Sublime's command palette, and I love using ivy/counsel for M-x in emacs. It would be even better if tmux had something like that.
That said, so looking forward to copying text in tmux going forward. The instructions in the OP didn't work for me, but I found two other posts - one from 2013, one from 2016, the combination of which worked. Not only can I copy text to a tmux buffer now, but it automatically goes to the system clipboard. This feels like overcoming a major disability.
:w !tmux load-buffer -
Writes whatever you have selected in vim into the tmux buffer through standard in.Elsewhere you can paste like pbpaste.
:r !tmux save-buffer -
The save-buffer command is’t the most intuitive name, but it’s saving to a file, stdout in this case.For example, from Windows these days I'm having to vim yank to file ~/clipboard and then I have a Windows keyboard shortcut to pscp that file locally && notepad file. Hacky, yes, but the muscle memory is there now so meh.
But that's just the flavor of the month this month...
Also: How is tmux about serial ports/USB->serial adapters?
Just because an app has some features doesn't mean that everyone knows about them. In fact the opposite is true, most features are never discovered and even fewer are used, even "obvious" ones.
some tools are so feature packed there's no way to discover/know everything and that's fine.
i didn't discover tmux could copy text until i got really annoyed by selecting with the mouse...
not annoyed = not discovered :)
Tmux comes from the times when this attitude was okay, but I feel that the standard now is raised and if the UI could give some feedback/help that doesn't require reading through all of the documentation, it's definitely something that should be prioritized.
Anti-example - help screens. Press ctr+b, then ?. Compare this to screen's ctrl+a, then ?. Both are quite terrible, but tmux definitely leaves users more disoriented while this isn't something that couldn't be avoided.
A simple message saying "you are in XYZ mode, type :help xyz-mode to get help" could go a long way. The RTFM philosophy combined with a wall of single-file manpage with no tutorial is something that I really wish died already.
With respect: what do you do for the tools you use to help this situation? The software is open source and accepts patches, and I'm sure they'd love to accept a patch that adds user-friendly documentation to the tool.
The reason is that if you hate how, say, coreutils works and have a strong vision of how it should be restructured, it will boil down to being off-putting to the mainteiners at best and - at worst - becoming a rewrite anyway. This is why I see my role as more of a propagator of tools that want to dethrone the current defaults: I look out for new exciting projects that have wildly better ergonomics than what's most common and I recommend them to my friends. And given that I'm running a hackerspace in my city, I have a bit of a reach so I think that this strategy might be a net good. I also try to share knowledge on how to code and keep in touch with FLOSS communities, so while I might not be contributing code directly, I (hopefully) end up bringing contributors anyway.
And while we're talking about spreading the word when a project has good ergonomics, here are some examples I personally love:
1. "glances" - a tool that combines a couple of tools like top, iftop, iotop and various other monitoring programs into one CLI dashboard. It's a bit chunky, but its functionality justifies it. 2. "fd" (cargo install fd-find) - a simpler version of "find". instead of crazy "find -iname 'something" you can just do "fd something". It's also faster. 3. "ripgrep" - like fd, but for grep. Defaults to recursive grep and skips .gitignore, so you can just type "rg variableName" and see all occurrences of it within files in your directory tree.
But you're right, I love to complain and quite frankly, in many cases I'm disappointed by priorities some projects choose in terms of ergonomics. Disappointed up to the point that I gave up sending patches - or even filing issues (example: GitLab). Perhaps a solution to the problem would be to have something like a GitHub badge signalling "UX feedback is welcome" or "RTFM", depending on one's design philosophy? That would help developers reach their target audience, regardless of which side of the argument they prefer.
Tmux is a command line application, and the man page is a well understood convention for anyone operating on the command line. I don't think it's unfair to fault tmux for poor discoverability because its manual is informative, easy to read, and fits in a single man page. It's also unnecessary to "read through all of the documentation" before using tmux, spending 3 minutes to read the first two sections would suffice.
> Press ctr+b, then ?. Compare this to screen's ctrl+a, then ?. Both are quite terrible, but tmux definitely leaves users more disoriented.
There's no difference between the two. People who refuse to read the manual or any of the abundant online tutorials won't be able to deduce either.
> A simple message saying "you are in XYZ mode, type :help xyz-mode to get help" could go a long way.
I'd prefer applications like tmux not stand out more than necessary. Displaying that sort of message every time I press some key can get annoying pretty fast.
ultimately a terminal multiplexer (and an editor) are complicated tools with steep learning curves, that's the price of the power that they enable. it's everybody's own choice how deep they want to get into it and how much time it saves for them.
do you have trouble finding tutorials for tmux? youtube is full of them. and there can be so many because the docs are excellent...
But... sublime is my text editor for notes and SQL. Everything else text related is in a terminal with vim mode enabled universally. Not sure why SQL is so annoying with vim..
I see what you did there :)