Ответ 1
От здесь:
if !exists(":DiffOrig")
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
endif
Тогда просто сделайте :DiffOrig
et voila!
:help :DiffOrig
Возможно ли, чтобы VIM выделил измененные строки со времени последнего сохранения? Я знаю, что это можно сделать с контролем версий, но можно ли это сделать без? Я не хочу использовать какую-либо систему контроля версий, потому что код, над которым я работаю, не имеет этого.
Я думаю, UltraEdit имеет что-то вроде этого.
От здесь:
if !exists(":DiffOrig")
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
endif
Тогда просто сделайте :DiffOrig
et voila!
:help :DiffOrig
Из vim wiki
Введите ": changes", чтобы отобразить строки, в которых произошли изменения.
Используйте "g;" и "g", чтобы перейти к измененным строкам
если вы используете CVS, Git или Subversion для ваших исходных файлов, тогда этот плагин script будет делать то, что вы хотите: VIM svndiff
вероятно, было бы не слишком сложно заставить его работать из-за разницы временного файла (если он уже не имеет этой опции).
Вам нужен временный файл для сравнения, и я не уверен, что у Vim есть один (у него есть .swp файл, но я не знаю, как его можно использовать).
В любом случае (причудливая) возможность может заключаться в использовании общего SCMdiff и записи командной строки script, которая выполняет разницу между текущим файл и версию .tmp. Вам также следует отобразить команду, которая сохраняет файл .tmp для текущей версии, возможно, автоматически вызывается при каждом сохранении.