• rozodru@piefed.social
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 months ago

      yeah I ONLY just recently switched to fish after using zsh and oh my zsh for so long - pretty much since first starting linux cause I once saw someone using it on unixporn and I thought “that’s cool”

      when I switched to NixOS zsh with all the plugins was a total slog. switched to fish and it just HAS everything that zsh/oh my zsh and the various plugins had but baked in.

      so yeah in Fish it’s just starting to type something and hoping it’s still in the history.

  • pcouy@lemmy.pierre-couy.fr
    link
    fedilink
    arrow-up
    8
    ·
    2 months ago

    https://github.com/atuinsh/atuin is a great tool to manage and search your shell history. I especially enjoy it being able to search commands based on the working directory I was in when I ran them.

    It also has more features (which I don’t use) to manage dotfiles and sync shell history across hosts/devices.

    • nameisnotimportant@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      I was going to talk about it too ! Even though I’m on fish (which helps a lot with history search) atuin really changed my habits and made my life easier !

  • Tiberius@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    I accidentally found out one day that I could use a wildcard operator in the terminal instead of a full file or folder name due to always doing this.

    cd Pho* or cd /documents/Pho*

    Will for example open my “Photo Examples” folder in the working directory or based on the path

    • merc@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      With ZSH there’s something called “path-completion” that makes that even easier.

      Say you want to go to “/usr/local/share/fonts” but that’s too much to type out, you can instead type “cd /u/l/s/f” and hit tab. If every path element is unambiguous it will just expand it to “/usr/local/share/fonts”. In this case though, “/u/l/” can expand to “/usr/local” or “/usr/lib” so when you hit tab it moves the cursor to just after the “l” to indicate it needs you to distinguish between “/usr/local/” and “/usr/lib”. If you just type “o” and hit tab again, it will know that there’s only one match for “/usr/lo” and expand that to “/usr/local/” Then there’s only one match for “s” which is “share”, and only one match for “f” which is “fonts”.

      That avoids the danger of executing a command with an asterisk wildcard.

    • TheOakTree@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      2 months ago

      This only works until you grow an addiction to making pho at home and start documenting your progress.

      cd “Pho Recipes and Pictures”

    • JasonDJ@lemmy.zip
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      You can use || between two commands as well. If the first command returns exit code != 0, the second command will run.

      I.e. which ansible || pip install ansible.

    • DarkAri@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      2 months ago

      cd /

      sudo rm -rf *

      Basically the Linux version of deleting system32 but idk I’m not a super Linux nerd yet.

  • stealth_cookies@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    This is why I like atuin, I can just press up and start typing part of the command and it will likely find it in my history.

      • Auli@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        Then how well you know which command it is when scrolling. At that point it’s googleing how do I move a file or whatever your looking for.

      • baltakatei@sopuli.xyz
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        That’s when you start spamming Page Up/Down, Home, End, and / to search within less. Usually seeing various commands jogs my memory, especially when they are grep commands searching for one I use often enough to be useful but infrequently enough to not remember off the top of my head.

      • merc@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        edit-2
        2 months ago

        Yeah, true. But, it’s easy to change.

        Bash is the Internet Explorer of shells. It’s great for installing a more useful shell.

        • layzerjeyt@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          9
          arrow-down
          1
          ·
          2 months ago

          That’s super unkind and incorrect. IE was a trash software that was widely available because MS was trying to extend their monopoly into new areas.

          Even if it’s not your taste, bash is a mature, stable FLOSS package with wide community support. The reason it is so common is due to it’s positive attributes, not because there is a plot to make it the only choice available to you.

          • calcopiritus@lemmy.world
            link
            fedilink
            arrow-up
            3
            arrow-down
            1
            ·
            2 months ago

            Bash might be better than IE. But I think we can agree that it is no longer a good shell.

            Its syntax is awful, and lacks many features that other shells have.

            It is only so widely used because it is a de facto standard. If bash was created today, barely no one would us it.

            • Auli@lemmy.ca
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 months ago

              My problem with those is bash is always there and just works.

              • merc@sh.itjust.works
                link
                fedilink
                arrow-up
                3
                arrow-down
                1
                ·
                2 months ago

                Yes, just like Internet Explorer.

                It’s good to know how to do things in bash, since you’re going to encounter it pretty often. But, that doesn’t mean you shouldn’t customize your shell on the machine(s) you use most often. Why stick with the default when there are better options? You’re just hobbling yourself.

        • pivot_root@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          That’s not true. Internet Explorer was fucking useless for scripting together things, unlike bash.