首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vi模式下的命令行:替换所有

vi模式下的命令行:替换所有
EN

Unix & Linux用户
提问于 2016-03-21 19:25:41
回答 2查看 1.5K关注 0票数 3

如何在vi模式下从命令行全局替换。似乎我不能用:前缀来使用ex命令,所以我应该做什么呢?

例如,如果我想用命令中的\替换所有的/ .

EN

回答 2

Unix & Linux用户

发布于 2016-03-21 19:34:55

如果在vi中使用/全局替换\存在问题,这是因为第一个字符是特殊的,需要转义,而第二个字符通常被选择为sed分隔符,因此也需要转义。您可以使用:

代码语言:javascript
复制
:%!tr '\\' '/'

代码语言:javascript
复制
:%s,\\,/,g

代码语言:javascript
复制
:%s/\\/\//g

为了完整起见,如果您使用的是普通vi (没有宏),并且不想使用前模式,则必须这样做:

代码语言:javascript
复制
/\\
r/nr/nr/nr/nr/nr/nr/nr/nr/nr/nr/n

重复上次多次需要,我只包括它,以显示你必须做什么,如果你不想使用前模式。

票数 1
EN

Unix & Linux用户

发布于 2016-03-21 19:44:04

在vi命令模式下

代码语言:javascript
复制
:1,$s+\\+/+g

这将用正斜杠替换所有反斜杠字符

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

https://unix.stackexchange.com/questions/271312

复制
相关文章

相似问题

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