Как отменить заполнение абзаца в Emacs? - PullRequest
13 голосов
/ 18 марта 2010

У меня есть текстовый файл, который довольно длинный. Есть ли простой способ "отменить" M-q (заливка абзаца) для файла, который был написан и сохранен некоторое время назад?

Например, я хочу изменить это:

Они собираются забрать меня, ха-HAAA !!
Они собираются забрать меня прочь, хо-хо, хи-хи, ха-хаа

На смешную ферму. Где жизнь прекрасна все время и я буду
рад видеть этих милых молодых людей в их чистые белые
пальто и они придя, чтобы забрать меня, ха-ха-ха !!!!!

К этому:

Они собираются забрать меня, ха-HAAA !! Они собираются забрать меня прочь, хо-хо, хи-хи, ха-хаа

На смешную ферму. Где жизнь красиво все время и я буду рад видеть этих милых молодых людей в их чистые белые пальто, и они придя забрать меня, ха-ха-ха !!!!!

Ответы [ 3 ]

21 голосов
/ 19 марта 2010

Используйте следующее из моего .emacs:

(defun unfill-paragraph ()
  (interactive)
  (let ((fill-column (point-max)))
    (fill-paragraph nil)))

(defun unfill-region ()
  (interactive)
  (let ((fill-column (point-max)))
    (fill-region (region-beginning) (region-end) nil)))

Я не могу взять кредит, я погуглил много лет назад.

9 голосов
/ 18 марта 2010

Вы можете установить fill-columnn на действительно большое число и заполнить.

C-u 10000 C-x f M-x fill-individual-paragraphs

Или вы можете использовать небольшую пользовательскую функцию:

(defun refill-paragraphs-to-be-one-line ()
  "fill individual paragraphs with large fill column"
  (interactive)
  (let ((fill-column 100000))
    (fill-individual-paragraphs (point-min) (point-max))))
1 голос
/ 18 января 2017

Когда я попросил помощи в M-Q (в отличие от M-q) в emacs 24.4.1, я получил это:

M-Q (translated from <escape> Q) runs the command unfill-paragraph, which is an
interactive Lisp function in `init-util.el'.

It is bound to M-Q.

(unfill-paragraph &optional REGION)

Takes a multi-line paragraph and makes it into a single line of text.
...