13 ms·
I used ohmyzsh with powerlevel10k/powerlevel10k[0] for years though recently i've settled on fish [1] [0] https://github.com/romkatv/powerlevel10k https://gith
by vorticalbox 3y ago
I used ohmyzsh with powerlevel10k/powerlevel10k[0] for years though recently i've settled on fish [1]
[0] https://github.com/romkatv/powerlevel10k https://github.com/romkatv/powerlevel10k
[1] https://fishshell.com/ https://fishshell.com/
- cybrox 3y agoCan you summarize what made the switch worthwhile for you? 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.
- hiAndrewQuinn 3y agoMy niche use case is that since fish comes out of the box with a whole bunch of very nice features (syntax highlighting on the shell, really good autocompletion) it's easy for me to stick it into the set of shell scripts I use to turn a new Ubuntu VM into a dev productivity machine. [1] 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. [1]: https://github.com/hiAndrewQuinn/shell-bling-ubuntu https://github.com/hiAndrewQuinn/shell-bling-ubuntu
- vorticalbox 3y agoonly a few things that are probally also possible in zsh 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
- TheRoque 3y agoYou just install it and it works. I change devices, or wipe out my devices often enough that just having a familiar shell installed in one line feels comfy. I usually don't customize things a lot, I pick something with good default and rarely change anything on it. I don't want to bother downloading plugins and addons, or fonts, or themes, just for a command interpreter.
- acdha 3y agoFor me it came down to speed and maintenance. Fish is incredibly fast and I spend almost no time configuring it, so it’s trivial to bring up on a new system and I don’t have to exercise self-control to avoid tweaking it (that’s a personal failing, not other shells).
- theshrike79 3y agoIt's easy to install. I used to have some fisher plugins, but gave up on those since none of them were really essential. 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.
- evnix 3y agoI start using fish, really like its feature set, but then have to give up and switch back to zsh when I want to get anything done. Unlike zsh, Fish isn't compatible with bash syntax, so a lot of existing scripts and software just doesn't work right. Even today people write scripts as if bash already exists and they seem to always target it. I wish fish had some form of compatibility layer.
- osmsucks 3y agoI've been using it for years and most things I need nowadays just work (i.e. have Fish support out of the box). For all the rest, perhaps give https://github.com/edc/bass https://github.com/edc/bass a try.
- mulmen 3y agoCan you add a shebang and make the script executable or just run the script as an argument to the bash program?
- arbitrandomuser 3y agoThis . You just have to use fish for live interacting with the system aaand its great ,for everything else you can stick to bash. Don't even change your default shell with chsh ,rather just point your terminal emulator to launch fish
- jackhalford 3y agoAre sourcing bash scripts in a fish shell? If you can either run bash ./xyz or add the shebang #!/bin/bash to run scripts with the intended interpreter
- eviks 3y agofish has a compatibility layer, and existing scripts still can use bash
- markstos 3y agoFish runs bash scripts just fine, as it does any script with a shebang line. IT is increasingly compatible with random CLI commands copy and pasted from the internet. 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.
- notso411 3y ago[dead]
- Keyframe 3y agozsh, oh-my-zsh, p10k, fzf, and as of recently zsh-autosuggestions plugin for oh-my-zsh is what I ride on. I keep hearing about fish, and I see what it's doing but I'm not sure what it would bring to the table compared to the setup?
- hibbelig 3y agoSo fish comes with nice defaults. It could happen that you have a complicated zsh setup, then migrate to fish and you find the defaults are fine. 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.
- mplanchard 3y agoYeah I tried zsh a few times and never really thought it gave me that much relative to my existing bash config. 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.
- wyclif 3y agoWhat I do is use zsh as my default shell and use oh-my-zsh, but keep a very simple config for my ~/.bashrc, something like: [ -f ~/.fzf.bash ] && source ~/.fzf.bash source /Users/wyclif/.config/broot/launcher/bash/br This gives me the best of both worlds.
- JNRowe 3y agoFWIW, that is also the default behaviour of zsh's standard completion subsystem for kill. You can try it yourself: "zsh -f" to get a shell without reading a fancy config, start compinit, "kill <Tab>". 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.
- mplanchard 3y agoNice! It's super useful in fish, good to know it's in zsh too
- cvdub 3y agofish has by far the best auto-completion out of the box. That’s what sold me. And the website is amazing. “Finally, a command line shell for the 90s”
- mrd3v0 3y agoTide is as close to powerlevel10k as one can get in Fish. https://github.com/IlanCosman/tide https://github.com/IlanCosman/tide