Então você quer o ls
bit do começo da linha atual? Vamos ver o que é definido por zsh
…
% foo(){ set > whatallisset }
% zle -N foo
% bindkey "^W" foo
% ls ./ # here I mash control+w, etc
% fgrep 'ls ./' whatallisset
BUFFER='ls ./ '
LBUFFER='ls ./ '
Então, provavelmente estamos analisando uma dessas variáveis para a "primeira palavra", portanto, supondo que BUFFER
seja o mais apropriado e, depois, examinando zshexpn(1)
docs e procurando por coisas "divididas" relacionadas:
foo(){ echo -n ${${(z)BUFFER}[1]} }