In all GUI text editors, web browsers and IDE’s you can move a cursor:

  • left/right arrows - move by char;
  • ctrl+left/right - move by word;
  • home/end - move to start/end of line.

Add Shift to any of above combination and everything you jumped through now is selected and you can: Ctrl+C, Ctrl+X,Delete to copy/cut/delete selection.

Also, you can Ctrl+Delete and Ctrl+Backspace to delete a next/previous word.

Also, you can Ctrl+Home/End to jump to start of first line or end of last line.

I want this to work when I type in a command in my Terminal.

Is it possible in Linux? It’s a vanilla experience in Windows+Powershell, thanks to default PSReadlLine extension. It works both in conhost.exe and in Windows Terminal, but doesn’t work in WT + cmd.exe, which makes me think it’s PSReadLine which is responsible for this technological perfection.

“But you can’t copy with Ctrl+C, it’s…” - You can. When something is selected It copies selection to clipboard, otherwise it sends SIGINT.

I’m not bound to any distro or terminal application, but right now I don’t see these incredible text editing techniques working even in Ubuntu+Powershell+PSReadLine, to say nothing about the Bash. I’ve tried installing WezTerm, but it doesn’t have text selection either, at least by default. And I’m inclined to think it has nothing to do with terminal emulators at all, since it works in conhost.exe+Powershell.

  • pr06lefs@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 day ago

    I get those 3 bulleted features in my terminal, alacritty. But not with Shift. For highlighting I’m pretty much limited to selecting text with the mouse and ctrl-shift-c.

    For more sophisticated text selection, tmux comes to mind. Default key bindings appear to be emacs-esque, though vi style is possible too. Custom keybindings are possible as well. It does seem like you may be forced to enter a special mode for selection rather than having that available all the time with just shift.

    • podbrushkin@mander.xyzOP
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      1 day ago

      For more sophisticated text selection

      Here it is. What I’m asking for is not sophisticated at all, quite the opposite. I ask for keybindings which work in almost all text editing areas, in all applications, all operating systems. Vi and eMacs are steps in opposite direction. I think I even used a vi-mode in terminal a couple of years ago. I doubt it’s possible to simplify command editing with it.

      • Ferk@lemmy.ml
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        1 day ago

        The thing is that vi and emacs have existed since long before those other new editors came around.

        What you want is possible to do by configuring your ~/.inputrc (see readline manual page for details), it’s just that the defaults are different because they are from a time when many keyboards didn’t even have arrow keys (and the ones that had them were in non-standard positions) so most of the shortcuts that became standard in those days are completely different than the ones common today. Given that the terminal is meant to emulate old style DEC VT100 terminals (that’s why it’s called terminal “emulator”) it made sense to use those default that people had grown used to.

        Personally, I’ve grown used to Ctrl+a, Ctrl+k, Ctrl+w, Ctrl+e and Ctrl+y …I dont have to reach to wherever the Home key is in whatever keyboard I happen to be using at the moment (specially with modern 75%/60%-sized keyboards today). Or use a combination that also requires shift and having to hold so many keys together. In fact I went the opposite direction and customized my Powershell profile while I’m on windows to keep many of those old shortcuts in the Windows pwsh terminal as well.

        • Alaknár@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          21 hours ago

          The thing is that vi and emacs have existed since long before those other new editors came around.

          What a weird thing to say… So what that they existed before? Who cares?

          Ctrl/Shift modifiers work in a very consistent way in the entirety of Windows, most of Mac, and… everywhere in Linux except the terminal.

          It boggles my mind that there isn’t a simple switch to toggle between “classic” and “modern” style for keybinds.

            • Alaknár@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              1
              ·
              12 hours ago

              The CMD “terminal” in Windows, for instance, don’t behave anywhere close to the rest of the system with regard to cp/paste

              Do I need to record a screencap from conhost.exe for you to believe me when I say you’re wrong?

              tab completion, etc.

              Where did that come from? I never said anything about tab completion or “etc”. I was talking specifically about Ctrl/Shift combinations with arrows/backspace/home/end, and such.

              Terminals are used for more than installing packages and editing files. If I login to the old solaris boxes at work via serial console and all the key bindings are fucked, I’m not getting the job done. I and most of my contemporaries rely on the way VT 100 terminal emulators work, which is why we can’t use kitty, alacrity, etc.

              Did you even read what I wrote? I said that there should be an option to switch between “modern” and “classic” keybinds. With the default being set to “classic” everywhere, how exactly would that cause any problems for you?

              If you want that “consistency”, use one of those terminal emulators that allows these behaviours.

              Mate, are you high? That’s what the OP is asking for. Do you know any such terminal emulators? Post some names!