Respuestas:
De esa manera, printfespera que un número decimal se convierta en hexadecimal. Todo lo que necesita hacer es convertir el carácter a un número de la siguiente manera:
s/\([a-z]\)/\=printf("%#02x", char2nr(submatch(0)))/
Ver :help char2nr()para más detalles.