首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vi替换命令

Vi替换命令
EN

Stack Overflow用户
提问于 2009-02-23 20:04:29
回答 2查看 892关注 0票数 4

使用vi时,如何将当前行号替换到当前行中的某个位置?例如,如果光标在第10行,我想将数字10放在该行的某处。

EN

回答 2

Stack Overflow用户

发布于 2009-02-23 20:13:11

您想实际插入行号,而不只是在页边空白处显示它吗?如果是的话-

代码语言:javascript
复制
:s/$/\=line(".")/

这将把它附加到行尾。将$替换为^以添加到该行的前缀。

票数 6
EN

Stack Overflow用户

发布于 2011-06-01 18:07:37

我试过了

代码语言:javascript
复制
:s/texttoreplace/<C-R>=line(".")<CR>/

但这会将文本替换为我在每行发出命令(1)时所在的行号,而不是对每行使用不同的编号。

下面的方法对我很有效。

代码语言:javascript
复制
g/^/exec "s/texttoreplace/(".line(".")."/"

g/^/exec在匹配正则表达式/^/的每一行(即每一行)上执行给定的命令。然后,表达式line(".")在正在处理的行的作用域中求值,而不是在键入命令时在作用域中的行中求值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/579110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档