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]} }