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