• ch00f@lemmy.world
      link
      fedilink
      arrow-up
      38
      ·
      3 days ago

      Shit is usually a pain in the ass. The challenge is divining how much of a pain in the ass something has to be that someone else might have made a solution for it.

      I didn’t know you could ctrl+shift+c to copy in the terminal until a month ago when my linux n00b wife said "there has to be a better way to do this. I’ve been right clicking to copy for 10 years.

        • JackbyDev@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          2 days ago

          I used to have shift insert in my muscle memory from Windows, but since my job has used a Mac since 2020 it’s fallen out. I never knew Ctrl insert was copy, that’s nifty! Another tool in the arsenal. It will be useful when copy in select isn’t set and I don’t know how to set it up lol.

          • HorreC@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            2 days ago

            I have always used ctrl/shift insert, I never got used to ctrl c/v. Glad you have new tools!

      • Aneb@lemmy.world
        cake
        link
        fedilink
        arrow-up
        1
        arrow-down
        5
        ·
        2 days ago

        Ctrl+c to copy, Ctrl+v to paste, Ctrl+z to undo last change (chain it multiple times to reverse time) hopes this helps, ctrl+tab also changes applications on macos and Linux to my knowledge. If you know anymore let’s put them together

        • ch00f@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          You’re getting downvotes because Ctrl+C doesn’t work in the terminal. That sends the kill command to the currently running application. You need the shift to tell the terminal program that you’re trying to copy.

          • Aneb@lemmy.world
            cake
            link
            fedilink
            arrow-up
            1
            ·
            1 day ago

            I use cmd+c cmd+v in my terminal all they time, I do get ctlr+c is the shutdown command. I use a it frequently. I honestly had no clue I was being down voted but I don’t care

    • Dave@lemmy.nz
      link
      fedilink
      arrow-up
      6
      ·
      2 days ago

      Just checking, because I learnt to type before I worked this out, and because surely someone reading doesn’t know: press tab. Bash will fill in file names from your current directory.

      E.g. say you have files fred1file, fred2file, jim.

      Type f then press tab, it will fill to “fred”. Then press 2 and press tab again and it will fill the full “fred2file”.

      Have a play, it works in heaps of situations.

      • bobo@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        2 days ago

        Bash will also do autocomplete for cli programs that have autocomplete functionality. Try typing:

        git r<tab><tab>

        you’ll see options for all the git commands that start with r. Often cli commands will have autocompletion for long (double dash) options.

        If you want to see all the commands that have auto complete available, look in:

        /usr/share/bash-completion/completions/

        There’s a few other locations they can live, notably:

        /etc/bash_completion.d/ ~/.bash_completion ~/.local/share/bash-completion/completions/

        I don’t know if there are more or if there is any variation per distro.

        You can also write your own bash completions. They can get pretty smart and context sensitive.

        Pretty good beginning tutorial:

        https://iridakos.com/programming/2018/03/01/bash-programmable-completion-tutorial

        edit - I should’ve mentioned that this isn’t native to bash, it requires installation of bash-completion. But bash-completion is installed by default in many distros.

    • grrgyle@slrpnk.net
      link
      fedilink
      arrow-up
      8
      ·
      2 days ago

      Congratulations! I remember where I was when I first learned it (in a noisy server room at the back of a machine shop).

      Now pair it with FZF for fuzzy finding – it’s surprisingly easy to set up, just following any guide. It’s insanely useful. I find myself even doing things like typing:

      $ xinput --disable $(xinput --list | grep -i touchpad | grep 'id=[0-9]\+' -o | cut -d= -f2)  # Disable synaptic touchpad trackpad pointer
      

      commands with these like comments on the ends as sort of “tags” so I can ctrl+r search for them later. Yes, I know I could just use a named function, but this is like the step just before that–before I know if I’ll be issuing the same command all the time, or just for the next couple weeks. (This one was from when I was resting my notebook on my laptop.)

      • oddlyqueer@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        I like this; I have a lot of commands that I don’t use often enough to justify an alias, but still need to rerun all the time. thanks!

    • lmmarsano@lemmynsfw.com
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      2 days ago

      As usual, that’s documented (we can RTFM).

      Before trying ctrl-s, you may want to disable software flow control: run stty -ixon & add it to your initialization files. Otherwise, you’ll pause terminal output. ctrl-q resumes terminal output.

      stty reveals terminal special characters

      $ stty -a
      ⁝
      intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; …
      ⁝
      

      These special characters/keys often perform special functions. To illustrate

      • ctrl-d on empty input typically exits/logs out of interactive terminal applications (including shells)
      • ctrl-u discards input (useful for inputs like password prompts that don’t echo input back)
      • ctrl-v inputs next character literally (such as tab)