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

Как я могу синхронно просматривать и прокручивать вертикально-разделенные буферы в Vim?

У меня есть два вертикально разделенных буфера в Vim, показывающие два отдельных файла, которые я хочу отображать и прокручивать синхронно. С :set scrollbind в верхней части обоих буферов я могу получить часть прокрутки вниз (поэтому, когда я ударил zt в одном буфере, текущая строка прыгает вверх в обоих буферах), но, к сожалению, дисплей не синхронизирован.

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

Спасибо!

4b9b3361

Ответ 1

В дополнение к настройке scrollbind в обоих буферах вам необходимо выдать команду :syncbind. Это должно синхронизировать прокрутку. Я не знаю, будет ли это делать отлично, если вы обертываете строки, а два файла имеют линии разной длины. Но если вы обертываете, я думаю, что он должен содержать их с одинаковыми номерами строк.

Ответ 2

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

:set nowrap

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

Ответ 3

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

Что я могу вам предложить:

  • С помощью vim вставьте номера строк перед каждой строкой и удвоьте ваши файлы (:g/^/put _). Если вы переводите, номера строк не должны подвергаться изменениям?
  • Откройте оба файла с Kompare или Meld, у которых есть графические трюки, чтобы плавно связывать линии с неравными длинами. Затем адаптируйте цветовую схему, чтобы вести себя, как если бы она не была отличным инструментом.