Как я могу синхронно просматривать и прокручивать вертикально-разделенные буферы в Vim?
У меня есть два вертикально разделенных буфера в Vim, показывающие два отдельных файла, которые я хочу отображать и прокручивать синхронно. С :set scrollbind
в верхней части обоих буферов я могу получить часть прокрутки вниз (поэтому, когда я ударил zt
в одном буфере, текущая строка прыгает вверх в обоих буферах), но, к сожалению, дисплей не синхронизирован.
Это означает, что если строки в файлах имеют разную длину, два буфера не будут визуально выровнены. Я бы хотел, чтобы Vim отображал дополнительные разрывы строк, чтобы гарантировать, что длинные обернутые строки не мешают вертикально синхронизированному отображению двух буферов.
Спасибо!
Ответы
Ответ 1
В дополнение к настройке scrollbind в обоих буферах вам необходимо выдать команду :syncbind
. Это должно синхронизировать прокрутку. Я не знаю, будет ли это делать отлично, если вы обертываете строки, а два файла имеют линии разной длины. Но если вы обертываете, я думаю, что он должен содержать их с одинаковыми номерами строк.
Ответ 2
Вы можете использовать
:set nowrap
Чтобы остановить длинные строки от обертывания, чтобы ваши буферы были синхронизированы. Не совсем то, что вы просили, но близко.
Ответ 3
Я сомневаюсь, что Vim действительно подходит для сравнения вертикальных буферов, которые имеют очень длинные строки текста, если вам нужно их обернуть, и тем не менее я настоящий поклонник Vim.
Что я могу вам предложить:
- С помощью vim вставьте номера строк перед каждой строкой и удвоьте ваши файлы (
:g/^/put _
). Если вы переводите, номера строк не должны подвергаться изменениям?
- Откройте оба файла с Kompare или Meld, у которых есть графические трюки, чтобы плавно связывать линии с неравными длинами. Затем адаптируйте цветовую схему, чтобы вести себя, как если бы она не была отличным инструментом.