2010-03-18 8 views
12

Tengo un archivo de texto bastante largo. ¿Alguna manera fácil de "deshacer" un M-q (párrafo de relleno) en un archivo que fue escrito y guardado hace un tiempo?¿Cómo deshacer el párrafo de relleno en emacs?

Por ejemplo, quiero cambiar esta situación:

Ellos vienen a mí para llevar, ha-haaa !!
Vienen a llevarme de distancia, ho-ho, ji, ja-haaa

A la granja divertida. Donde la vida es hermosa todo el tiempo y voy a
ser feliz de ver a esos jóvenes bonitos en sus abrigos blancos limpios
y están viniendo a llevarme, ha-haaa !!!!!

A esto:

que van a venir a mí para llevar, ha-haaa !! Vienen a llevarme de distancia, ho-ho, ji, ja, ja,

A la granja divertida. Donde la vida es hermosa todo el tiempo y voy a estar feliz de ver a esos jóvenes bonitos en sus abrigos blancos limpios y están viniendo a llevarme, ha-haaa !!!!!

Respuesta

8

Puede establecer fill-columnn en un número realmente grande y llenar.

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

O puede usar un poco de función personalizada:

(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)))) 
+0

Gracias por esto, pero un comentario: su función parece no trabajar en los párrafos que comience con un símbolo como un guión (-) o un asterisco (*), mientras que las funciones dadas por Doug Harris sí lo hacen. Tal vez algo ha cambiado desde que publicaste esto hace 8 años. – mark999

19

Utiliza el siguiente de mis .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))) 

no puedo tomar el crédito, busqué en Google esto hace años .

1

Cuando pedí ayuda en MQ (en contraposición a MQ) en emacs 24.4.1, tengo esto:

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. 
+0

Eso es probablemente porque ha agregado el código de [esta página] (https://www.emacswiki.org/emacs/UnfillParagraph) a su configuración de Emacs. – fagerbua

+0

No. Lo encontré en modules/init-util.el – mpersico

+1

Ese archivo no está incluido en vanilla GNU Emacs. Tal vez proviene de su distribución o de un paquete que instaló. – fagerbua

Cuestiones relacionadas