4 ms·
I've tried bash, zsh, and fish. After trying all three, I'm staying with fish. bash and zsh don't have sensible defaults, and configuring them is tedious. fish
by TheAceOfHearts 10y ago
I've tried bash, zsh, and fish. After trying all three, I'm staying with fish. bash and zsh don't have sensible defaults, and configuring them is tedious. fish works great out of the box, and it's really fast. When I picked up zsh I used oh-my-zsh and later prezto, but it was slow and figuring out what everything all the framework did was complicated.
With fish I have a setup.fish script that defines all my universal exports, for when I setup a new computer. This is for private tokens, like HOMEBREW_GITHUB_API_TOKEN. For aliases and utilities, I wrote a fisherman [0] plugin. It has a functions folder and a fishfile for the few other plugins I use.
[0] https://github.com/fisherman/fisherman https://github.com/fisherman/fisherman
- eknkc 10y agoI use fish too but I'm thinking about switching back to zsh. Mostly due to incompatible software here and there (like nvm) and lack of completions for a lot of cli tools.
- TheAceOfHearts 10y agoasdf [0] is a great alternative to nvm. The best part is that it supports multiple languages and it's fast. I use the plugins for elixir, erlang, nodejs, and ruby. Many CLI tools are missing completions, but I think it's slowly getting better over time. The pros outweigh the cons for me. [0] https://github.com/asdf-vm/asdf https://github.com/asdf-vm/asdf [1] https://github.com/fisherman/fisherman https://github.com/fisherman/fisherman
- FreeFull 10y agoI leave my $SHELL set to bash, but have tmux launch fish. That way, any software that tries to start a shell of its own gets the POSIX sh-compatible shell it expects.
- ufo 10y agoThe Bass wrapper script can help with some of the incompatibilities: https://github.com/edc/bass https://github.com/edc/bass
- bigbugbag 10y agoI tried fish and found it had some interesting new features but not worth switching from zsh, good news is others thought the same so I just had to spend 2 minutes and add 3 lines to my zsh configuration to get those fish features. tada ! https://github.com/zsh-users/zsh-syntax-highlighting https://github.com/zsh-users/zsh-syntax-highlighting https://github.com/zsh-users/zsh-history-substring-search https://github.com/zsh-users/zsh-history-substring-search https://github.com/zsh-users/zsh-autosuggestions https://github.com/zsh-users/zsh-autosuggestions