4 ms·
> It more just argues than tmux is a pita on the terminal ecosystem which I’m sure is true. Start thinking of tmux, screen, ssh, etc as terminal emulators, and
by rollcat 1y ago
> It more just argues than tmux is a pita on the terminal ecosystem which I’m sure is true.
Start thinking of tmux, screen, ssh, etc as terminal emulators, and everything will suddenly make sense.
> perhaps we should rethink protocols etc to make many of these features more native
I've been opposing terminal emulators (NOTE: emulators, not REPLs) for a long while. I also do believe we can collectively do better than emulating 1970s hardware. I do believe we can build applications where "ctrl-c" means copy, and selecting more than one screen's worth of text is possible. It's not hard, we're just stubborn.
- em-bee 1y agonitpick: ctrl-c never meant copy until windows started to dominate. it didn't even mean that in DOS. selecting more than one screens worth of text is possible in gui terminals and also in tmux. but i agree with your general point: we can collectively do better than emulating 1970s hardware absolutely!
- rollcat 1y ago> nitpick: ctrl-c never meant copy until windows started to dominate. it didn't even mean that in DOS. VT102 wasn't designed with multiplexing in mind. The device was meant as a primary way to interact with a computer, not to perform the tasks of one - your physical keyboard also doesn't understand "copy". > selecting more than one screens worth of text is possible in gui terminals and also in tmux. It is but it isn't. You want to copy a multiline snippet of code you just wrote, you will have to manually strip away $PS1 & $PS2. You want to copy from vi into another window, you can't use the mouse - and you have to use a side channel. I have 20+ unfixable issues outlined, and I'm in the process of writing a blog post... But at my current rate, it could become a book.
- em-bee 1y agoIt is but it isn't. ok, yes, i was just talking about the simple case. you are right that the issue is more complicated, so i actually agree with you. i am talking about similar problems here: https://news.ycombinator.com/item?id=44757142 https://news.ycombinator.com/item?id=44757142 i am looking forward to your post. i added your blog to my rss reader
- mananaysiempre 1y agoNit: didn’t Ctrl-X/C/V come from the original Macintosh? I thought Windows initially followed IBM’s CUA, where cut / copy / paste are instead Shift-Delete / Ctrl-Insert / Shift-Insert (and those still work too).
- layer8 1y agoThe original Macintosh had Command-X/C/V, and Windows 3.0 adopted that in addition to the existing CUA shortcuts, but changed Command to Control, as Alt was already in use for menus and form control shortcuts on Windows. So it’s true that Ctrl+C for Copy only became a thing with Windows.
- em-bee 1y agoah, that's a history detail i didn't know about. very well, it's apple's fault then :-)
- quesera 1y agoApple did it correctly! Apple provided a new modifier key (Command, or ⌘) for our GUI shell. Or Open Apple/Closed Apple if you go back to the Apple II days. Control still works like it should. Microsoft said "Hey that's useful, but we don't make hardware, and we don't have a Command key, so let's break things and reuse Control in our copycat GUI, and ignore all of the historical uses of control characters. What could go wrong?" And then Linux (Gnome??) said "Hey we don't make hardware either, let's do what Microsoft did, because lots of people are familiar with it, and even though the historical uses of control characters are really important on Unix-like operating systems."
- em-bee 1y agoyou are right, apple didn't clobber ctrl-c and i should have realized that (facepalm). it IS microsofts fault. makes one wish microsoft started making keyboards earlier. maybe we would have gotten that command key everywhere. on the linux end we didn't really have much choice then. we wanted to get people to switch from windows. but technically, neither microsoft now linux clobbered ctrl-c in the terminal. if i remember ctrl-c does not work to select text in a DOS window, and it does not on a linux terminal either.
- anthk 1y agoThat's Emacs for you. No, seriously. Have a look to eshell and elisp.
- rollcat 1y agoI'm trying to get away from Emacs. I've built a standalone PoC REPL with an inferior process as a uni student (2010), it was ca 200 lines of Python and Tk. Stuff you get for free: text selection, copy/paste, multiline editing, proportional fonts, etc. It's not a hard problem, but there seems to be little collective interest to push such efforts forward. The best idea I've seen so far is Swift Playgrounds. You get a text editor, start writing a script, run it at your own convenience, standard stuff. The good stuff is, it takes a snapshot of the running process at every line, and allows you to travel back in time, inspect the state in a debugger, and rerun from any single point. When you hit run, it restarts from the first new line, so you never pay the upfront cost of a prior heavy computation. You get every benefit of a REPL, plus every benefit of a simple IDE, plus a time travelling debugger, plus vertical integration. If only it wasn't just Swift.