• rozodru@piefed.social
      link
      fedilink
      English
      arrow-up
      5
      ·
      3 个月前

      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
    ·
    3 个月前

    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
      ·
      3 个月前

      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
    ·
    3 个月前

    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
      ·
      3 个月前

      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
      3 个月前

      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
      ·
      3 个月前

      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
      3 个月前

      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
    ·
    3 个月前

    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
        ·
        3 个月前

        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
        ·
        3 个月前

        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
        3 个月前

        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
          ·
          3 个月前

          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
            ·
            3 个月前

            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
              ·
              3 个月前

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

              • merc@sh.itjust.works
                link
                fedilink
                arrow-up
                3
                arrow-down
                1
                ·
                3 个月前

                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.