I migrated to fish recently and at first I was really annoyed that I had to decompose my ~/.bash_aliases into 67 different script files inside ~/.config/fish/functions/, but (a) I was really impressed with the tools that fish gave me to quickly craft those script files (-
~> function serg
sed -i -e "s/$1/$2/g" $(rg -l "$1")
end
~> funcsave serg
funcsave: wrote ~/.config/fish/functions/serg.fish
) - and (b) I realized it was something I ought to have done a while ago anyway.
Anyway, all this to say that fish ships with a lot of cool, sensible & interesting features, and one of those features is a built-in place for where your user scripts should live. (Mine is a symlink to ~/Dropbox/config/fish_functions so that I don’t need to migrate them across computers).
I migrated to fish recently and at first I was really annoyed that I had to decompose my
~/.bash_aliases
into 67 different script files inside~/.config/fish/functions/
, but (a) I was really impressed with the tools that fish gave me to quickly craft those script files (-~> function serg sed -i -e "s/$1/$2/g" $(rg -l "$1") end ~> funcsave serg funcsave: wrote ~/.config/fish/functions/serg.fish
) - and (b) I realized it was something I ought to have done a while ago anyway.
Anyway, all this to say that fish ships with a lot of cool, sensible & interesting features, and one of those features is a built-in place for where your user scripts should live. (Mine is a symlink to
~/Dropbox/config/fish_functions
so that I don’t need to migrate them across computers).