Try this:
Code:
alias listaliases {
  close -@ @aliases
  window -nk0 @aliases
  var %i = 1, %o = $+(+,$iif(-l* !iswm $1,(?!-l +\S)),(\S+))
  while $alias(%i) {
    filter -fwg $+(",$ifmatch,") @aliases /^(?i)(?>n\d+=|)[^; ]\S* +\S/
    inc %i
  }
  var %i = 1, %a = $line(@aliases,0)
  while $script(%i) {
    filter -fwg $+(",$ifmatch,") @aliases /^(?i)(?>n\d+=|)alias %o +\S/
    inc %i
  }
  %i = $line(@aliases,0)
  while %i > %a {
    !.echo -q $regex($line(@aliases,%i),/^(?>n\d+=|)alias +(?:-l +)?(\S+) /i)
    rline @aliases %i $regml(1)
    dec %i
  }
  while %i {
    !.echo -q $regex($line(@aliases,%i),/^(?>n\d+=|)([^; ]\S*)/i)
    rline @aliases %i $regml(1)
    dec %i
  }
  filter -wwct 2 47 @aliases @aliases
  window -a @aliases
}
/listaliases lists all aliases in the @aliases custom window. By default, it only lists the global aliases; if you include the -l switch (ie /listaliases -l) local aliases are included too.


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com