I'm considering switching from screen to tmux, but I've invested lots of time developing an extensive .screenrc, and I don't want to find after many hours of porting it to tmux that tmux can't do something that is important to me.
I've looked at several online comparisons of the two, and none of them go into much depth or answer many of (what are to me) the important questions, which can be boiled down to two questions:
- Is there anything significant that screen can do that tmux can't do?
- Is there anything significant that tmux can do that screen can't?
(The client-server architecture is nice, but doesn't give any new capabilities as far as I can see. The license is obviously better. Smaller and leaner is obviously nice, but not a game changer for me.)
Since these 2 questions are very broad, let me give some specific examples:
- Does tmux have a complete command history? (For commands sent to tmux itself, not shell commands. This is something that screen is missing: How can I go back in the (GNU) screen command history? (NOT shell command history!))
- I assume I can bind keys to tmux commands?
- I assume my tmux configuration file can source other files?
- Can I bind a keystroke to the source command, so that I can dynamically change my configuration easily?
- Does tmux have ACL settings? (I've never actually needed these in screen, but it's nice to know they're there.)
- Can tmux open default windows? (a la screen -t somename 1 ssh someserver)
I could hunt down answers to these specific questions myself, but they're just examples of the 2 bigger questions, and I'd also like to hear answers to the bigger questions that don't necessarily fit any of my examples. It's entirely possible that if there's something missing from tmux I wouldn't discover it after spending lots of time switching, and that's what I want to avoid. Thanks!