I've been using #fish_shell more recently, and I really think that fish's abbreviations mechanism is far better than aliases in bash/zsh/others.

https://fishshell.com/docs/current/cmds/abbr.html

Instead of replacing a command with another, you get autocompletion at the command line. This makes copying commands between users or machines way less brittle! You get all the user experience benefits of typing less without creating confusion about what you're actually running.

Kudos to the team behind that decision

abbr - manage fish abbreviations — fish-shell 4.5.0 documentation

Syntax highlighting for commands in your `$PATH` or files that do exist, tab completion for characters that aren't necessarily at the start of a file name and CLI parameters are also great functions! You also get less arcane and more readable loops.

There's a lot to like about fish

@jrhawley I reeeeally miss the completion engine, which is probably the best one I've ever used! The only thing I don't like is having to make room in my brain for a second version of shell script that I type at the CLI, which isn't the same as the portable shell script that I type in a script file that I save and run... I finally went back to highly tweaked bash after my rate of scripting errors got too high.

@jrhawley fish is amazing.

I especially like how great it is out of the box without configuration.

Personally, I use Nushell because I like the language.