Vim: Текстура без ведущих символов

Я пишу bulletted list в VIM и устанавливаю textwidth = 79 для жесткого переноса строк. Когда я пишу список, я бы хотел, чтобы каждый возврат каретки создавал новую пулю, а для обернутых линий не было пуль. Однако VIM делает наоборот (пули на обернутых линиях, без пули после возврата каретки). Я бы хотел:

* Item 1 - The text for this line is too long and
  so is wrapped to the next line.
* Item 2 - Typing a carriage return after item 1
  should produce the bullet for this item.

Однако VIM делает это:

* Item 1 - The text for this line is too long and
* so is wrapped to the next line.
Item 2 - Typing a carriage return after item 1
should produce the bullet for this line.

У меня есть autoindent on, cindent off, а formatexpr - пустая строка. Я понимаю и люблю автоматически вставляемое поведение "*" для комментариев в стиле С, но мне бы хотелось по-разному подействовать на текстовые типы файлов. Есть ли параметр, который позволяет это?

Ответ 1

Try

set formatoptions=tn autoindent
let &formatlistpat='^\s*\(\d\+[\]:.)}\t ]\|[*-]\s\)\s*'

Флаг n в formatoptions запускает форматирование списков, которые вы используете, но параметр по умолчанию formatlistpat обрабатывает только нумерованные списки. В приведенном выше добавлении добавляются пули либо *, либо -.