Подтвердить что ты не робот

Vim - выделение измененных строк

Возможно ли, чтобы VIM выделил измененные строки со времени последнего сохранения? Я знаю, что это можно сделать с контролем версий, но можно ли это сделать без? Я не хочу использовать какую-либо систему контроля версий, потому что код, над которым я работаю, не имеет этого.

Я думаю, UltraEdit имеет что-то вроде этого.

4b9b3361

Ответ 1

От здесь:

if !exists(":DiffOrig")
    command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
          \ | wincmd p | diffthis
endif

Тогда просто сделайте :DiffOrig et voila!

:help :DiffOrig

Ответ 2

Из vim wiki

Введите ": changes", чтобы отобразить строки, в которых произошли изменения.

Используйте "g;" и "g", чтобы перейти к измененным строкам

Ответ 3

если вы используете CVS, Git или Subversion для ваших исходных файлов, тогда этот плагин script будет делать то, что вы хотите: VIM svndiff

вероятно, было бы не слишком сложно заставить его работать из-за разницы временного файла (если он уже не имеет этой опции).

Ответ 4

Вам нужен временный файл для сравнения, и я не уверен, что у Vim есть один (у него есть .swp файл, но я не знаю, как его можно использовать).

В любом случае (причудливая) возможность может заключаться в использовании общего SCMdiff и записи командной строки script, которая выполняет разницу между текущим файл и версию .tmp. Вам также следует отобразить команду, которая сохраняет файл .tmp для текущей версии, возможно, автоматически вызывается при каждом сохранении.