linux里面编辑文本时遇到过这么几个需求:
- 文本有20行,每行末尾对应的添加 “js{行号}.py”
- 删除第m行到第n行
- 对修改进行撤销
添加行号的方法
参考: 在VIM中添加行号的方法
VIM编辑器是可以显示行号的。但是,有时候我们需要在整个代码的行首添加行号。怎么实现呢?实现的方法有很多,这里就介绍我知道的一种吧。
在每行行首添加某个字符串
:%s/^/your_string/
在每行行尾添加某个字符串:
:%s/$/your_string/
解释:
% 表示针对文件的每一行进行操作
$ 代表一行的结尾处
^ 代表一行的开头处
s 表示替换
如果想在每行行首添加行号,可以用这个命令:
:%s/^/\=line(".")/
\=表示对\=之后的表达式求值。line(“.”)是一个返回当前行行号的函数。
所以上面这个命令用每一行的行号替换(插入)行首,就得到了需要的结果。
:%s/$/ py/
:%s/$/\=line(".")/
:%s/$/. py/
可以通过三次替换来实现,一次怎么实现呢?