Unisci le modifiche esterne apportate durante la modifica


10

Se sono state apportate modifiche esterne a un file in fase di modifica in Vim, sono consapevole di poter ricaricare il contenuto del file :edit. Ma supponiamo che (internamente) abbia apportato modifiche al file che voglio conservare. Esiste un modo per integrare le due serie di modifiche (esterna e interna)? Da quello che ho capito, :editprende semplicemente i cambiamenti esterni.


3
Leggere :h autoread? È quello che stai cercando?
statox

2
:autoreadlegge le modifiche esterne ma nel caso in cui vengano apportate modifiche al file che viene letto automaticamente, vim mi avviserà che sono state apportate modifiche esternamente al file da quando ho apportato le mie modifiche interne. Sto cercando un modo per unire i cambiamenti esterni con quelli interni.
fuzzybear3965,

5
Stai cercando :h :DiffOrig?
Christian Brabandt,

@ChristianBrabandt, non è mai troppo tardi, giusto? Questa è stata un'ottima risposta. Non sapevo che esistesse.
fuzzybear3965,

Risposte:


3

Per approfondire il commento di Christian Brabandt , ecco una scomposizione del DiffOrigcomando:

Comando completo:

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
    \ | wincmd p | diffthis

Decomposizione:

command DiffOrig        " create a new command named DiffOrig
vert new                " open a new buffer splitted vertically
| set bt=nofile         " set buffer type to scratch 
| r #                   " read the alternate buffer (opened file to diff)
| 0d_                   " delete the first line
| diffthis              " diff the current buffer
| wincmd p              " move cursor to opened file 
| diffthis              " diff the current buffer

Una versione alternativa utilizza l' ++editopzione per la lettura, mantiene i valori delle opzioni come se si stesse modificando un file.

Riferimenti:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.