Como estoy editando un archivo en Vim, me gustaría resaltar rápidamente cualquier cambio que haya realizado desde mi última confirmación, sin dejar de poder editar el archivo. ¿Hay algo que se acerque a hacer esto?Cómo usar Vim para ver rápidamente los cambios de Mercurial o Git
Respuesta
Trate vcscommand plug-in, utilice :VCSVimDiff
para ver differencies con la versión actual (soporta tanto hg y git, probablemente algunos otros sistemas SCM también) e interna :bdelete
(:bd
) (en la memoria intermedia abierta por supuesto, no en ya existente) a deja de diferir Si está utilizando gentoo, está disponible en el repositorio: app-vim/vcscommand
.
hay un sitio en el uso de Git y vim juntos:
http://www.osnews.com/story/21556/Using_Git_with_Vim
utilizo el git.vim uno, y cada vez que necesito un diff puedo comprobar con \gd
.
awesome link. Definitivamente, una buena información – g19fanatic
un método consiste en hacer lo siguiente:
:!git diff
Esto mostrará los cambios (a todos los archivos) en comparación con HEAD
hacer un solo archivo :!git diff path/to/file
esta es una manera rápida de hacerlo sin cambiar diferentes aplicaciones ni instalar ningún complemento (lo cual no siempre es fácil de hacer en algunos sistemas que no tiene) control sobre).
no le dará resaltado 'en línea' pero debería funcionar bien.
Otra forma de hacerlo rápido es hacer un :r !git diff
eche un vistazo a los cambios y escriba u
para deshacer la adición. Esto funciona muy bien también, especialmente si quieres tirar un texto de HEAD
Para el archivo actual simplemente haz ':! Git diff%' o ':! Hg diff%'. –
Mira el plugin de Tim Pope fugitive.vim.
Soy un git purista y por lo general me meto en la línea de comando para git, pero cuando estoy en vim encuentro que esto hace la mayor parte de lo que necesito hacer y aún puedo llamar comandos git directamente.
Me gusta más el fugitivo que el plugin vcscommand, pero necesito compatibilidad con hg, así que acepté la otra respuesta. ¡Gracias por convertirme en fugitivo! –
Contento me gusta. No estaba seguro hasta que un amigo me sugirió que lo intentara yo mismo, y ahora me parece que hace lo que necesito. – Abizern
@Abizern, lo siento, me doy cuenta de que esta es una vieja pregunta, pero ¿cómo se usa fugitivo para resaltar las líneas modificadas como la pregunta del OP? –
¿Qué tal esto (no obligatorio): plugins
:new | r ! hg annotate -un #
Este plazo hg annotate
en el nombre de archivo del búfer en uso, entonces descarga la salida en un nuevo buffer.
Esta forma de comando obviamente no es específica de git y hg. Puede capturar los resultados de cualquier comando de shell de esta manera.
Hay un nuevo complemento que hace esto: vim-gitgutter. Pone los cambios en el canal de Vim cada vez que guardas el archivo.Esto es lo que se ve como en la acción:
Agradable. Yo aceptaría esto si la pregunta fuera solo sobre Git. Justo lo que quiero. –
+1 La versión Sublime es agradable :) –
Solo la he usado por un tiempo y ha sido muy útil. Hace ver muy fácilmente qué partes del archivo han cambiado. Un buen proyecto podría ser portarlo para incluir cambios hg. –
Esto funciona tanto para Hg y Git: https://github.com/mhinz/vim-signify
Para mercurial, un equivalente de fugitive
es lawrencium
: http://bolt80.com/lawrencium
Es compatible tanto con el lado -by-side diff y una vista de diff
resaltada (básicamente lo que obtienes de hg diff <file>
.
(descargo de responsabilidad: soy el autor)
- 1. git: cómo ver los cambios, la próxima inserción enviará
- 2. git: cómo ver los cambios debido al empuje?
- 3. Cómo ver los objetos e índices git sin usar git
- 4. Mercurial: ¿Cómo se pueden deshacer los cambios?
- 5. ¿Cómo hago para que git muestre los cambios en vim como lo hace hg con el script hgeditor?
- 6. ¿Cómo ejecuto git log para ver los cambios solo para una rama específica?
- 7. Ver diff de los cambios escalonados en git
- 8. Cómo ver los caracteres UTF-8 en VIM o Gvim
- 9. Git: use revertir o pagar para deshacer los cambios realizados?
- 10. ¿Cómo controlo el DOM para ver los cambios?
- 11. ¿Cómo ver cambios de código después de git pull?
- 12. Mercurial commandline: ¿Cómo mostrar los cambios de una revisión específica?
- 13. Mercurial: cómo recuperar los últimos cambios del padre del tenedor?
- 14. Git: las ramas deben aislar los cambios, ¿o no?
- 15. ¿Cómo concatenar dos líneas rápidamente en Vim?
- 16. ¿Cómo "revertir" los archivos sin cambios con mercurial?
- 17. Prueba de cambios no confirmados en mercurial
- 18. ¿Cómo ver los cambios 'git svn dcommit' antes de realizar la transacción?
- 19. ¿Cómo ver los comandos de Mercurial emitidos por Tortoise HG?
- 20. Empujar sin compromiso en Mercurial o Git
- 21. Ver todos los `git diffs` con vimdiff
- 22. Usando Git, ¿cómo puedo encontrar cambios entre local y remoto?
- 23. git log foo..bar - cómo ver * fechas de fusión * para conjuntos de cambios?
- 24. ¿Parches de contribución de Mercurial a Git?
- 25. En mercurial, ¿cómo ver diff en un conjunto de cambios de combinación y un padre sin cambios del otro padre?
- 26. ¿Cómo puedo ver los cambios pendientes de Entity Framework?
- 27. Git: Lista de todos los cambios sin combinar en git
- 28. Ver los últimos cambios en svn
- 29. Mercurial: cómo ignorar los cambios en un archivo rastreado
- 30. ¿Cómo ver un directorio de cambios?
Aceptando este porque funciona en git y hg (y otros también). Sin embargo, me gusta más el fugitivo de Tim Pope para git. –