Chris Lott <[email protected]> a écrit:
> I have a document with the following kind of text:
>
> ## 3. foo
>
> various text here
>
> ## 1. foo
>
> more text here
>
> What I would like to do is search for all the headers (## X. etc) and
> replace them with the proper sequential numbering. How do I approach
> this?
Something like this:
function! s:renumber ()
let [a:count, a:lineno, a:last] = [0, 1, line('$')]
while a:lineno <= a:last
let a:line = getline(a:lineno)
if a:line =~ '^##\s\+\d\+\.'
let a:count += 1
call setline(a:lineno, substitute(a:line, '^##\s\+\zs\d\+\ze\.',
a:count, ''))
endif
let a:lineno += 1
endwhile
endfunction
com! Renumber call s:renumber()
I’m sure some “vizard” can do the same without using a counter like
a:count (and, of course, with :substitute).
Best,
Paul
--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.