Ao usar o set showcmd
Vim, mostra comandos parciais na última linha da tela. Por exemplo, no modo Normal, ao digitar o comando, dt.
a última linha é exibida dt
e, quando você pressiona .
o comando, é concluída e, portanto, nada é mostrado.
Existe uma maneira de mostrar comandos completos? Por exemplo, ao digitar dt.gU(
, primeiro dt.
seria mostrado; e ao começar a digitar o segundo comando, o primeiro seria limpo, de modo que, no final, apenas gU(
seria exibido.
Isso pode ser útil, por exemplo, para ilustrar GIFs; e verificar se você digitou o que queria se encontrar algum resultado inesperado.
dt.gU(
existem 2 comandos: dt.
e gU(
.... Então, o que você realmente deseja é mostrar algum tipo de histórico de comandos (o Vim já está mostrando os "comamnds completos").
src/normal.c
chamadas de código clear_showcmd()
em vários lugares ( normal_cmd()
, do_pending_operator()
, end_visual_mode()
). Estou brincando de despejar em um arquivo showcmd_buf
nesses pontos, o que parecia muito bom, mas me garante que você não poderá obter o que deseja sem modificar da mesma forma o código-fonte do Vim e reconstruí-lo. Claro, fazer isso pode valer a pena o aborrecimento de criar seus gifs.
dt
é mostrado porque é o operador atual pendente. Depois que uma moção é apresentada, não é mais um operador pendente. Suponha que fomos mais longe, e fizemos maisdt.gU(gu)daw
ou menos. Tudo isso é "um comando completo", ou são quatro comandos completos, ou algo mais?