使用vi时,如何将当前行号替换到当前行中的某个位置?例如,如果光标在第10行,我想将数字10放在该行的某处。
发布于 2009-02-23 20:13:11
您想实际插入行号,而不只是在页边空白处显示它吗?如果是的话-
:s/$/\=line(".")/这将把它附加到行尾。将$替换为^以添加到该行的前缀。
发布于 2011-06-01 18:07:37
我试过了
:s/texttoreplace/<C-R>=line(".")<CR>/但这会将文本替换为我在每行发出命令(1)时所在的行号,而不是对每行使用不同的编号。
下面的方法对我很有效。
g/^/exec "s/texttoreplace/(".line(".")."/"g/^/exec在匹配正则表达式/^/的每一行(即每一行)上执行给定的命令。然后,表达式line(".")在正在处理的行的作用域中求值,而不是在键入命令时在作用域中的行中求值。
https://stackoverflow.com/questions/579110
复制相似问题