Gostaria de descobrir quais são os padrões mais comuns que estou usando durante a codificação. Então, estou procurando uma maneira de gravar todas as minhas entradas de teclado enquanto estiver no vim, de preferência com registros de data e hora. Depois, pude fazer uma análise dos padrões / movimentos usados mais recentes, quanto tempo leva uma ação, e descobrir coisas para otimizar.
Existe uma maneira idiomática de fazer isso no Vim? Devo tentar escrever um plugin para isso? Quais seriam as implicações de desempenho de se fazer algo assim?
obrigado
-w
bandeira ao iniciar o vim. Você pode gravar todas as teclas digitadas com ele.vim -w file.log
) e fornece um script haskell para analisar o arquivo em comandos separados que você pode analisar. Não há registros de data e hora.vim -w <(./test-io.py > log)
(vim -w <(tee raw-log | ./test-io.py > log)
se você quiser a saída bruta também) ( * apenas nix ). Isso deve gravar todas as suas entradas com registros de data e hora, um byte por linha, emlog
. O que eu notei é que o vim não gera os comandos um por um, mas os libera.Respostas:
O Vim permite registrar todas as entradas quando a
-w
opção da linha de comandos é passada com um arquivo:Agora que temos acesso à entrada, podemos redirecioná-la para onde queremos. A seguinte maneira, por exemplo ( apenas sistemas * nix ):
Onde
timestamper.py
está o seguinte script python curto:O script pode ser substituído por qualquer outro programa que receba entrada, se você quiser fazer algo mais sofisticado.
NOTA: Após alguns testes, descobri que o vim parece manter um buffer das entradas que ele libera em algum momento e na saída. Isso torna os timestamps razoavelmente confiáveis.
fonte
:terminal
problemas relacionados à entrada, por isso deve ser um recurso útil. Não estou familiarizado com a API de plug-in remoto que eles têm, mas isso também pode ter alguma maneira de obter a entrada em tempo real.