2.9 KiB
English • 简体中文
FAQ
Thanks for taking the time to read this FAQ. Feel free to create a new issue if your question is not answered here.
What is Oh My Fish and why do I want it?
Oh My Fish is a framework for the fishshell. It helps you manage your configuration, themes and packages.
What do I need to know to use Oh My Fish?
Nothing. You can install Oh My Fish and keep using Fish as usual. When you are ready to learn more just type omf help
.
What are Oh My Fish packages?
Oh My Fish packages are themes or plugins written in fish that extend the shell core functionality, run code during initialization, add auto completion for known utilities, etc.
What kind of Oh My Fish packages are there?
There are roughly 3 kinds of packages:
-
Configuration utilities. For example
pkg-pyenv
checks whetherpyenv
exists in your system and runs(pyenv init - | psub)
for you during startup. -
Themes. Check our theme gallery.
-
Traditional shell utilities. For example
pkg-copy
, a clipboard utility compatible across Linux and OSX.
What does Oh My Fish do exactly?
-
Run
$OMF_CONFIG/before.init.fish
if available. -
Autoload installed packages and themes under
$OMF_PATH/
. -
Autoload your config path.
~/.config/omf
by default, but configurable via$OMF_CONFIG
. -
Autoload any
functions
directory under$OMF_PATH
and$OMF_CONFIG
-
Run
$OMF_CONFIG/init.fish
if available.
How can I upgrade from an existing Oh My Fish installation?
⚠️ Remember to backup your dotfiles and other sensitive data first.
curl -L github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | sh
You can now safely remove $fish_path
.
rm -rf "$fish_path"
I changed my prompt with fish_config
and now I can't get my Oh My Fish theme's prompt back, what do I do?
fish_config
persists the prompt to ~/.config/fish/functions/fish_prompt.fish
. That file gets loaded after the Oh My Fish theme, therefore it takes precedence over the Oh My Fish theme's prompt. To restore your Oh My Fish theme prompt, simply remove that file by running:
rm ~/.config/fish/functions/fish_prompt.fish
How do I use fish as my default shell?
Add Fish to /etc/shells
:
echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
Make Fish your default shell:
chsh -s /usr/local/bin/fish
To switch your default shell back:
Substitute
/bin/bash
with/bin/tcsh
or/bin/zsh
as appropriate.
chsh -s /bin/bash