Жесткая обертка в vim без соединения

Жесткая обертка в vim без соединения

Новичок в Vim. Как мне сделать жесткий перенос простого текста в vim (вставляя реальные переносы строк), соблюдая границы слов,без присоединения к существующим линиям?

Например, учитывая это:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

- Nulla cursus accumsan faucibus.
- Donec dapibus dignissim ullamcorper.

Integer
nec
malesuada
diam.

Я хотел бы получить (при textwidth=30):

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.

- Nulla cursus accumsan
  faucibus.
- Donec dapibus dignissim
  ullamcorper.

Integer
nec
malesuada
diam.

вместо этого (что я могу получить с помощью gggqG)

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.

- Nulla cursus accumsan
  faucibus.
- Donec dapibus dignissim
  ullamcorper.

Integer nec malesuada diam.

Также, в качестве бонуса: когда я создаю совершенно новый буфер, я получаю другое поведение переноса (строки, начинающиеся с -, не переносятся специально), чем когда я открываю файл, заканчивающийся на .txt. Что этим управляет? Я не замечаю никакой разницы в выводе :set filetype?или :filetype.

решение1

На первый вопрос используйте

:%normal gqq

Это будет выполнено gqqв каждой строке по отдельности.

Я не знаю ответа на второй вопрос, но это может быть результатом автокоманды, вызванной суффиксом .txt, который изменяет 'formatoptions'или 'comments'без установки 'filetype'. Вы можете выполнить

:verbose set fo? com?

чтобы увидеть, где эти опции были установлены в последний раз. Некоторые дистрибутивы GNU/Linux помещают свои собственные команды конфигурации Vim в /etc/vimrc или /usr/share/vim/vimrc.

Связанный контент