Pratham Patel
Pratham Patel

Reputation: 67

Storing fish shell aliases in another file

I have a config.fish in ~/.config/fish. While editing my fish_prompt I accidentally deleted my aliases once. I did have backup, but I want to store all aliases separately from now on. Also, how can I auto-load all of my aliases when I source the newly-edited config.fish?

I have alias update="source ~/.config/fish/config.fish". So if I make change to the location of my config.fish and edit the alias as necessary, next time I update the updated alias should reflect in the updated config. How can I do this?

Upvotes: 2

Views: 1950

Answers (1)

faho
faho

Reputation: 15914

There are a few things fish offers here:

  • Files in ~/.config/fish/functions named after a function (plus a ".fish" ending) will be autoloaded once that function is called
  • Files in ~/.config/fish/conf.d/ (with a ".fish" ending) will be sourced before config.fish

So you can either put your functions/aliases in a function file each, or put them in files in conf.d in whatever grouping you want.

Also you can put your fish_prompt in its own file - ~/.config/fish/functions/fish_prompt.fish

(also "alias" is simply a cheesy helper function to make functions - the core shell has no concept of aliases)

Upvotes: 4

Related Questions