一、VIM递增.
在1所在行,yy,100p。
进入命令行模式,输入如下命令:
let i=1|g/1/s//\=i/|let i=i+1
要在每行前生成一个行号,怎么搞?按照刚才的思维,肯定还是要用到递增的理念,然后在啰嗦一句行首匹配符是^~~:let i=1|g/^/s//\=i/|let i=i+1
其实命令比较简单,简单解释一下:
1/
s/
/
\=i \=是把后面的字符串当成表达式来对待,在这里就是i的值
|
其实到这里大家就可以自由发散啦,比如如果我想让字母横排怎么办呢?
:%s/\n/ /gc
评价:第一种可以控制递增的数量,但是适于在空文本中使用
第二种指令:不便控制递增的数目,会递增至文本内容的最后
二、
同样未能完成对递增数目的控制
三、
可以控制递增的数量,但是适于在空文本中使用,无法插入在有内容文本的前面
四、
可以在文本的中间插入
文字 1还是文字
文字 2还是文字
文字 3还是文字
文字 4还是文字
文字 5还是文字
五、
1、进入VIM,读取文件内容。
2、在需要加入行号的首行开头输入起始行号(序号)并加入一个空格与后文隔开(空格用于后面的单词复制分隔,如要不希望加入空格也可以用其它方式来框选序号,偶就不一一列举了)。
3、将光标置于行首(其实就是序号上),按下q(命令模式下),开始录制操作啦~;再按下t(偶将宏存到t中,大家也可以使用其它字符命名宏,注意是单个字符)
4、在命令模式下按下yw,将行序号当作单词复制下来。
5、按j到下一行,现在光标应该正对应到插入位置,按下P(最好是大写,表明在当前字符前粘贴),将上行序号粘贴到这个位置。
6、按下^(无视空格用0[零,非欧]),光标回到行首(其实就是回到行序号上,还有其它方法可以实现),按下Ctrl-a,序号会加1(Ctrl-x表示减1,大家明白加2减2……如何处理了吧),然后再次按下^,保证光标在行序号开始位置。
7、按下q结束录制。
8、在光标位于行序号首的情况下,想插入10个连续的行号就输入10@t,10代表执行次数,@表示执行宏,t是偶刚才给宏的命名,大家按自己命名使用。
经验证利用宏是比较方便实用的方式,个人选择宏这种方式。