В Emacs, как переформатировать отредактированный абзац, чтобы разрывы строк были правильно вставлены заново?

17

В Emacs у меня есть абзац текста, который уже правильно обернут, скажем, в 79-й столбец каждой строки, затем вы редактируете его, добавляя некоторый текст в некоторые строки, как переформатировать отредактированный абзац, чтобы символы разрыва строки были автоматически удаляются и вставляются в правильные места, так что результирующий абзац снова является разрывом строки в 79-м столбце для каждой строки, или что-то подходящее для текущего режима, скажем python-mode?

qazwsx
источник

Ответы:

28

Вы должны использовать fill-paragraphкоманду, обычно привязанную к meta-q. (Вы можете использовать, ESC qесли ваша клавиатура не имеет мета-клавиши.) Заполнение абзаца имеет смысл только в режимах свободного текста или в комментариях в режимах языка программирования. Языковые режимы программирования обычно устанавливаются вокруг TABклавиши для правильного отступа строк; разрывы строк вставляются вручную.

Чтобы установить столбец, в котором строки текста разбиты, используйте set-fill-columnкоманду. Поместите курсор в столбец, для которого строка должна заканчиваться, и введите, control-u control-x fи этот столбец станет столбцом заполнения для текущего буфера. Используйте fill-paragraphдля повторного заполнения абзаца новым столбцом заполнения.

Кайл Джонс
источник
1
Что я помещаю в .emacs, чтобы по умолчанию было так, чтобы fill-paragraphвсе строки были заполнены до 79-го столбца?
qazwsx
6
(setq-default fill-column 79)
Кайл Джонс
Есть ли обратная сторона fill-paragraph, которая переформатировала бы абзац, чтобы все было в одну строку?
jameshfisher
1
О, я нашел это unfill-paragraph. Благодарю.
jameshfisher