[0] https://github.com/romkatv/powerlevel10k [1] https://fishshell.com/
[0] https://github.com/romkatv/powerlevel10k [1] https://fishshell.com/
Fish on the other hand has stuck, and I'm still discovering nifty new built in features, like the fact that if you type `kill`, you can tab-complete on process names, so like if I want to kill emacs, I can type `kill ema<tab>` and select from the following:
> kill ema
3296 (.blueman-applet) 3595 (.blueman-tray-w) 9324 (emacsclient) 9327 (emacs) 9557 (emacsql-sqlite)
If there's only one match it completes the PID for you, and of course if you start typing a PID and press tab it shows the process names along with the potential completions.I use starship for prompt customization, which is nice because my config transfers just fine from bash over to fish.
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
source /Users/wyclif/.config/broot/launcher/bash/br
This gives me the best of both worlds.You can even disable verbose mode via zstyle, should you be the type of person that likes a simple pid list like bash's completion project provides. To me this level of customization is the main feature zsh provides, but not everyone incessantly turns every knob they see.
For all the rest, perhaps give https://github.com/edc/bass a try.
Don't even change your default shell with chsh ,rather just point your terminal emulator to launch fish
For those that don't work right away, just type `bash` to enter bash shell, run the command return back to Fish.
If a significant part of your day is spent copying CLI command from the internet, then yes, perhaps Bash is a better choice for you.
Nearly everything I want, fancy autocompletion, syntax highlighting, git-aware prompt just worked out of the box.
I've been using zsh/omz with a customized powerlevel10k for years now and I see fish mentioned all the time but I didn't really find a compelling reason to try it out for myself.
I could probably get Zsh to do all the same stuff I would want fish to do out of the box, but it would make reading through and reasoning about the shell scripts more difficult for third parties to audit, who may not be familiar with either tool before they try it.
fish functions are super easy to create on the fly from a command updating $path is fish_add_path {path here} setting global variable is easy set -Ux FOO bar adding -g makes it global
most of these require me to update my .zshrc and source ~/.zshrc as far as i am aware
When I set up a new computer I can just install fish and starship prompt and I'm mostly done. My fish configuration file is just aliasing and sourcing configs from other software, it's been a while since I had to touch it.
And the website is amazing. “Finally, a command line shell for the 90s”
The fish scripting language is nicer (more logical) than the zsh one. That's because zsh needs to be Bourne-ish for historical reasons, and fish has decided to deviate from it. Existing sh, bash, zsh scripts will continue to work just fine. You can write new scripts in fish, or keep writing scripts in zsh or whatever.