Question

Is there a way to covert such block of lines

line1  
line2 
linen

into

1. line1
2. line2
n. linen

Using Emacs org mode

Was it helpful?

Solution

don't know if there is a direct way, haven't heard of it yet at least. But one approach would be to use string-rectangle (C-x r t) to prepand 1. to all lines and then hit C-c C-c to update the numbering.

For string-rectangle you would put point and mark the following way:

v---mark
line1 with some text
line2 with more text
<---point

After M-x: string-rectangle: 1. you will get:

1. line1 with some text
1. line2 with more text

Hitting C-c C-c will give you the correct numbering!

Easier because it gives you visual feedback is to enable CUA-mode and use C-return to create a rectangle selection, then you can start typing on all lines in parallel. See also this video on youtube.

OTHER TIPS

the shortest way I know of is: highlight the lines, including their newline character,

line1
line2
line3

Then execute M-x org-ctrl-c-minus (press C-c -) and you will get

- line1  
- line2 
- line3

Then run M-x org-shiftright (press <S-right>) twice and you get the desired

1. line1  
2. line2 
3. line3

Found this on emacsworld.blogspot.com (I made some minor edits):

In Emacs 24.1, the NEWS file had this new addition to the rectangle commands.

** New command `C-x r N' (`rectangle-number-lines') numbers the lines in the current rectangle. With a prefix argument, this prompts for a number to count from and for a format string.

This allows you to now number lines or lists easily without using a macro or additional elisp functions. Mark a vertical region of text (using transient mark mode may help), 1 character wide, and then hit C-x r N and that's it. Emacs numbers the lines.

If you use the prefix command C-u (for example, C-u C-x r N), it will prompt you for a starting digit and the format string, so you can start at an arbitrary number and specify a period or paren or whatever to precede or follow the number.

See also org-toggle-item to convert to plain-text list or numbered list.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top