vim - 替换 VIM 中每一行出现的第 N 个字符
问题描述
我有以下数据,我想替换第 3 次出现的 | 什么都没有的符号。
ABC | DEF | GHI | XYZ | 123
ABC | DEF | GHI | XYZ | 123
ABC | DEF | GHI | XYZ | 123
最终输出应该是:
ABC | DEF | GHI XYZ | 123
ABC | DEF | GHI XYZ | 123
ABC | DEF | GHI XYZ | 123
解决方案
您可以运行以下命令:
:%norm 3f|r
这表示:
:%norm
在每一行上,运行以下正常命令3f|
将光标移动到第 3 次出现|
r
用空格替换它
你当然可以这样做:
:%norm 3f|x
要彻底删除|
。
另一种方法是使用可视块模式(请参阅 参考资料:help visual-block
)。尽管这仅在所有内容|
都排成一行(即在同一列中)时才有效。
推荐阅读
- sql - 符合多少条件?
- java - 带有“Joker”字符的 Java 正则表达式
- blazor - 在 MemoryStream 中下载数据
- ios - 如何使用 swift 导入和导出 VCard 文件
- node.js - 用户创建内容中的 Vue 组件
- javascript - 输入重复时使用 jQuery 选择选中的单选按钮
- python - 类列表视为全局
- npm-install - NPM 没有在 bitbucket 管道上安装 devDependencies?
- spring - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名为“MyTastTasklet”的bean时出错
- openlayers - openlayers 5.1.3:快速启动示例中的“损坏”缩小按钮?