如何插入越来越多的线

时间:2013-12-01 07:07:03

标签: vim edit

这是文件的一小部分,原始文件有数百行。

下面第1行在新行号2,3下面插入新行号1,2,3行,依此类推。

如何使用gVim命令和功能实现从上到下的变化。 我正在使用Windows平台的gVim。

修改前

hsd
xlfh
1lm
2lm
3lm
4lm
5lm
6lm
7lm
8lm
9lm
slm
s1lm
......

修改后

hsd
1
xlfh
1lm
2
3
2lm
3lm
4lm
4
5
6
5lm
6lm
7lm
8lm
7
8
9
10
9lm
slm
s1lm
......

2 个答案:

答案 0 :(得分:1)

我不知道为什么你需要这样做,但如果你经常需要这个,请考虑一个函数.vimrc:

function! Nameme()
    1
    let mov = 1
    let start = 1
    let inc = 0
    while 1
        call append(line('.'), range(start, start+inc))
        let mov += 2
        let inc += 1
        let start += inc
        if mov + line('.') > line('$')
            break
        endif
        execute mov + line('.')
    endwhile
endfunction

然后你可以:call Nameme()

答案 1 :(得分:0)

在Vim中,可以合并包含要插入的数字的另一个文件(例如,由/ bin / cat -n创建),这是开头。

gg         go to first line
o1<esc>"ayy   a (will increase) initialized to 1
"byy        b (will be cumsum of a) initialized to 1
qz          loop this:
:.,<c-r>a   advance by a lines
"bp         put a(a-1)

...但是,如果您对问题进行格式化以便不会结束deleted

,我就会继续