Eu estou tentando ter um desfazer realçado no Vim, como a configuração padrão do spacemacs. Às vezes, quando quero desfazer rapidamente, não consigo perceber o que mudou porque é instantâneo. Então, eu estou tentando ter algo assim quando uma imprensa desfaz:
Alguém tem uma idéia de como fazer isso no Vim?
(Eu já tenho o plugin Gundo, eu só quero tornar o desfazer mais suave)
Editar : O plugin undotree faz o trabalho (o Gundo não destaca as alterações), basta usar o UndotreeToggle
comando e todas as alterações futuras no arquivo serão destacadas.
matchadd()
, mas um pouco mais complicado é descobrir quais partes do arquivo foram alteradas.Respostas:
Nova solução
Você pode ver suas últimas alterações com o
:changes
comando Para que você possa alterar sua linha mais recente com uma regex e aplicá-lamatchadd()
conforme sugerido por @joeytwiddle.Aqui está o código:
Nota :
Essa função adiciona apenas um novo destaque sem remover o antigo, portanto, você deve remover o antigo primeiro.Com aclearmatches
função, você pode remover as correspondências antes de adicionar uma nova. Cuidado, ele removerá TODAS as correspondências. Se você quiser mais granularidade, salve sua correspondência e remova-a manualmente:por exemplo
Referências :
Solução antiga
Aqui está uma solução possível, inspirada principalmente no buffer de corrente Diff e no arquivo original :
A idéia é diferenciar o arquivo com o arquivo no sistema, para que você desfaça sua última alteração, escreva-a, refaça a última alteração e execute a diferença.
Eu acho que isso deve funcionar para visualizações de diferenças temporais de tempos em tempos.
fonte
Verifique meu plug - in de alterações e defina a variável
g:changes_linehi_diff
como 1fonte
Para alguém que está tentando o mesmo de mim, é o mais próximo que cheguei graças às respostas.
fonte