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

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

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

Спасибо!

Ответы [ 3 ]

13 голосов
/ 08 ноября 2010

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

2 голосов
/ 08 ноября 2010

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

:set nowrap

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

0 голосов
/ 09 ноября 2010

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

Я мог бы предложить вам:

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