Here is a solution that works on your paragraph. #+BEGIN_SRC emacs-lisp (defun explode-paragraph () (interactive) (let (start end) ;; narrow to paragraph (backward-paragraph) (forward-line) (setq start (point)) (forward-paragraph) (previous-line) (setq end (point))
;; now move by sentence, insert number and \n. at the end go to beginning ;; insert a number and use C-cC-c to renumber the list. (save-restriction (narrow-to-region start end) (goto-char (point-min)) (while (< (point) (point-max)) (forward-sentence) (insert "\n1. ")) (goto-char (point-min)) (insert "1. ") (org-ctrl-c-ctrl-c)))) (defun unfill-paragraph () "Unfill paragraph at or after point." (interactive "*") (let ((fill-column most-positive-fixnum)) (fill-paragraph nil (region-active-p)))) (defun list-to-paragraph () "Convert list at point to a paragraph." (interactive) ;; make sure we are at the beginning of the list (beginning-of-line) (let ((element (org-element-context)) contents) (when (eq 'item (car element)) (setq element (org-element-property :parent (org-element-context))) (goto-char (org-element-property :begin element))) ;; collect each sentence, minus the numbers. (setq contents (loop for node in (org-element-property :structure element) collect ;; remove number and space (replace-regexp-in-string (regexp-quote (nth 2 node)) "" (buffer-substring (nth 0 node) (nth 6 node))))) ;; replace the list, and then unfill the paragraph. (setf (buffer-substring (org-element-property :begin element) (- (org-element-property :end element) 1)) (mapconcat 'identity contents "")) (goto-char (org-element-property :begin element)) (unfill-paragraph))) #+END_SRC marvin doyley writes: > Hi there, > > Does anybody know how to convert a paragraph to a plain list, and vice versa. > For example, I would like to convert > > Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse viverra > consectetur euismod. Donec non tempor turpis. > > to > > 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. > 2. Suspendisse viverra consectetur euismod. > 3. Donec non tempor turpis. > > In one key stroke, this would speed up my brain storming process. > > Thanks, > M -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu