Использование diffget в vimdiff - PullRequest
7 голосов
/ 15 мая 2009

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

Документация vimdiff гласит:

:[range]diffget

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

Ответы [ 3 ]

9 голосов
/ 15 мая 2009

Вы можете использовать

:.,.

как диапазон от текущей строки до текущей строки.

В соответствии с документом вы можете опустить диапазон, и тогда будет использоваться текущая строка или строка выше.

1 голос
/ 11 апреля 2014

Мне немного проще выбрать текущую строку с помощью V , а затем do или dp . Это имеет тот же эффект, что и выбор ярости с помощью :.,. , но его легче набирать! Кроме того, вы можете легко добавить соседние строки с помощью j или k .

1 голос
/ 16 мая 2012

Как сказал Николай,:. будет указывать «текущую строку» в качестве диапазона.

У меня был очень большой файл, который требовал проверки каждой строки и, возможно, изменения, поэтому каждый раз вводить «:.,. Diffput» было слишком сложно. Я записал макрос:

qq:.,.diffput[ENTER]q

Это создало макрос (сохраненный под клавишей «q»), чтобы «поместить» одну строку из левого буфера в правый буфер. Теперь, чтобы повторить это действие, все, что мне нужно сделать, это набрать "@q"

...