[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[vim] "c<motion>" будто сбрасывает 'linebreak'



Добрых всем суток.

Обнаружил, кажется, пренеприяную ошибку в Vim’е: при установленной опции 'linebreak' (визуальный перенос строк только по пробелам, а не посередь слова) ее эффект на время обнуляется командой изменения "с", (но не "d", "i", "a", "x"). Например, буфер выглядит так:

1 “Free software” means software that respects users' freedom and
   community. Roughly, it means that the users have the freedom to run,
   copy, distribute, study, change and improve the software. Thus,
   “free software” is a matter of liberty, not price. To understand the
   concept, you should think of “free” as in “free speech,” not as in
   “free beer”.

Если теперь приказать "с" с любым движением в любом месте (для примера "cl" на 1,1), то буфер проиобретет вид будто опция 'linebreak' не установлена:

1 Free software” means software that respects users' freedom and commun
  ity. Roughly, it means that the users have the freedom to run, copy,
  distribute, study, change and improve the software. Thus, “free softw
  are” is a matter of liberty, not price. To understand the concept, yo
  u should think of “free” as in “free speech,” not as in “free beer”.

Если теперь выйти из режима вставки и продолжить редактирование файла, то по мере перерисовки буфера он вернется к должному виду с переносом по словам до следующей команды "c<motion>".

Проявляется это как в терминале, так и в Г-Виме, в т. ч. и на умолчательных настройках, разумеется:
    $ vim -u NONE '+set nocompatible' '+set linebreak'

По версиям: проверил доступные в дебиановских снапшотах [0]: проблемные — c 7.4.481-1 и до 7.4.488-4, последняя беспроблемная, соответственно 7.4.430-1.

Может ли кто подтвердить / опровергнуть? Может быть уже и багрепорт давно отправлен, а я его найти не могу?

[0]: http://snapshot.debian.org/binary/vim/


Reply to: