Жесткая упаковка в 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.