Новичок в 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.