Vim - выделение измененных строк - PullRequest
22 голосов
/ 27 августа 2009

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

Я думаю, что у UltraEdit есть что-то подобное.

Ответы [ 4 ]

19 голосов
/ 27 августа 2009

С здесь :

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

Тогда просто сделай :DiffOrig и вуаля !

:help :DiffOrig
8 голосов
/ 02 апреля 2013

С vim wiki

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

Используйте "г;" и "g" для перехода к измененным строкам

2 голосов
/ 27 августа 2009

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

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

0 голосов
/ 27 августа 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...