Is there a way to list all aliases, something like:
$ ls-aliases
.. \"cd ..\"
la \"ls -Gla\"
gs \"git stash\"
etc...
Also is it possible to add
If someone stumbles upon this like I did:
Current fish
version (3.0.2) has alias
(without params) that lists all aliases.
(Similarly abbr
lists all abbreviations.)
(@heemayl pointed out that bash
has alias
as well...)
In bash
:
To list all aliases:
alias
To add a comment, just put it at the end of the command, e.g.:
$ alias foo='echo bar #some description'
$ foo
bar
$ alias foo
alias foo='echo bar #some description'
You can add your own fish function to list aliases like so:
$ function aliases --description "list all fish aliases" 0|19:02:45
for f in (functions)
functions $f | grep \'alias
end
end
Then save it
$ funcsave aliases
And call it
$ aliases
Example output:
function fishc --description 'alias fishc=vim ~/.config/fish/config.fish'
function flutter --description 'alias flutter=~/Repos/DevResources/flutter/bin/flutter'
function imgcat --description 'alias imgcat=~/.iterm2/imgcat'
function imgls --description 'alias imgls=~/.iterm2/imgls'
function inkscape --description 'alias inkscape=/usr/local/Cellar/inkscape/0.92.2_1/bin/inkscape'
Note that in fish the alias
command creates a function using the alias name that wraps the alias value. So there isn't currently any way to list just "aliases". You can use the functions
command to list the names of all the defined functions (which by definition includes aliases). If you want the names one per line just functions | cat
.
Fish:
⏵ functions
abbr, ack, acs, alias, calc, cd…
⏵ functions ls
function ls
command ls -A -x --si --color --classify --group-directories-first $argv;
end