Инверсия Mq, функция незаполненного абзаца - PullRequest
18 голосов
/ 15 июля 2011

Есть ли обратное для M-q , какое-то unfill-paragraph-function?

Если у меня есть данные для отмены, то это, конечно, просто. Вместо этого я прошу возможность объединять строки в абзаце в одну длинную строку сразу после того, как я только что прочитал файл с диска. Это позволило бы затем вставить текст в форму (веб-форму и т. П.), Которая ожидает один разрыв строки для каждого абзаца.

Раньше я выключал auto-fill, создавал макрос для удаления EOL и перехода к следующей строке и неоднократно применял его, но это утомляет.

Ответы [ 4 ]

23 голосов
/ 15 июля 2011

Вот ответ . Короче говоря:

(defun unfill-paragraph ()
  "Replace newline chars in current paragraph by single spaces.
This command does the reverse of `fill-paragraph'."
  (interactive)
  (let ((fill-column 90002000))
    (fill-paragraph nil)))

(defun unfill-region (start end)
  "Replace newline chars in region by single spaces.
This command does the reverse of `fill-region'."
  (interactive "r")
  (let ((fill-column 90002000))
    (fill-region start end))) 

Обновление: я упаковал это здесь , и его можно установить из Мармелад или Melpa .

8 голосов
/ 23 мая 2012

См. Также M- ^ (удаление-отступ).

Соединяет текущую строку с предыдущей, поэтому, если вы начнете с точки в последней строке абзаца, вы можете продолжать нажимать M- ^, пока все строки не будут объединены.

1 голос
/ 27 июля 2017

Сначала я некоторое время использовал решение @ sanityinc, пока не наткнулся на Незаполненный абзац Стефана Монье в EmacsWiki . Кажется более надежным

;;; Stefan Monnier <foo at acm.org>. It is the opposite of fill-paragraph    
(defun unfill-paragraph (&optional region)
  "Takes a multi-line paragraph and makes it into a single line of text."
  (interactive (progn (barf-if-buffer-read-only) '(t)))
  (let ((fill-column (point-max))
        ;; This would override `fill-column' if it's an integer.
        (emacs-lisp-docstring-fill-column t))
    (fill-paragraph nil region)))

;; Handy key definition
(define-key global-map "\M-Q" 'unfill-paragraph)

Привязка клавиш M-Q делает команду намного проще.

0 голосов
/ 22 июня 2012

Также смотрите этот пост

http://blog.chrislowis.co.uk/2010/03/03/unfill-region-emacs.html

В которой упоминается очень полезный режим ярусов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...