Labithiotis
Labithiotis

Reputation: 4129

List all aliases available in fish/bash shell

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 human readable descriptions to aliases ?

I'm on a MacOSX

Upvotes: 26

Views: 28425

Answers (5)

vekerdyb
vekerdyb

Reputation: 1263

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...)

Upvotes: 15

Gringo Suave
Gringo Suave

Reputation: 31860

Fish:

⏵ functions
abbr, ack, acs, alias, calc, cd…

⏵ functions ls
function ls
    command ls -A -x --si --color --classify --group-directories-first $argv;
end

Upvotes: 2

stantronic
stantronic

Reputation: 405

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'

Upvotes: 4

heemayl
heemayl

Reputation: 41987

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'

Upvotes: 34

Kurtis Rader
Kurtis Rader

Reputation: 7459

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.

Upvotes: 8

Related Questions