Одна мысль: если вы будете хранить каждый переводимый фрагмент (одно или несколько предложений) в отдельной строке, опция vim scrollbind
, cursorbind
и простое вертикальное разбиение помогут вам поддерживать синхронизацию фрагментов.Это очень похоже на то, что vimdiff делает по умолчанию.В этом случае файлы должны иметь одинаковое количество строк, и вам даже не нужно переключать окна!
Но это не совсем идеально, потому что обернутые строки имеют тенденцию немного портить.Если в вашем переводе на две-три виртуальных строки больше, чем в исходном тексте, визуальная корреляция исчезает, поскольку эти строки больше не один на один.Я не мог найти решение или сценарий для исправления этого поведения.
Другое предложение, которое я хотел бы предложить, - это вставить перевод в оригинал.Это приближается к методу сравнения предложения Бенуа.После того, как оригинал будет разбит на куски (один кусок на строку), я добавлю >>
или подобное на каждой строке.Перевод одного куска начнется с o
.Файл будет выглядеть так:
>> This is an example sentence.
Tämä on esimerkkilause.
>> In this format editing is easy.
Tässä muodossa muokkaaminen on helppoa.
И я бы улучшил читабельность, выполнив :match Comment /^>>.*$/
или аналогичный, что бы ни выглядело хорошо с вашей цветовой схемой.Вероятно, было бы целесообразно написать область :syn
, которая отключает проверку орфографии для исходного текста.Наконец, как деталь, я бы связал <C-j>
с 2j
и <C-k>
с 2k
, чтобы позволить легкий переход между важными частями.
Плюсы для этого последнего подхода также включают в себя то, чтоВы можете обернуть вещи в 80 столбцов, если вы чувствуете, что я делаю :) Было бы все равно тривиально написать <C-j/k>
для перехода между переводами.
Минусы: завершение буфера страдает, так как теперь оно завершает как оригинал, так и переведенныйслова.Надеюсь, английские слова не встречаются в переводах так часто!:) Но это настолько надежно, насколько это возможно.Простой grep
очистит исходный текст после того, как вы закончите.