vim的匹配删除

发布于 2022-09-11 20:29:47 字数 293 浏览 23 评论 0

1.一个文本类似:
12.123 32.321 21.123 15.789 1.000 nan nan
xxxxxx xxxxxx xxxxxx xxxxxx xxxxx xxx xxx
如此规则的文本。我想每行保留前三种数据即12.123 32.321 21.123,后面的数据就全删除掉。

2.最近学习vim的匹配,想通过vim的匹配技巧去处理。
%s/^s{3}.*//g(从行首匹配到第三个空白符后再匹配任意数量的任意字符然后用空白替换掉)。显然达不到我想要的结果
所以想问一下这里正确的匹配该怎么写
在此感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薯片软お妹 2022-09-18 20:29:47

用正则分组

:%s/\(^\S\+\(\s\S\+\)\{2}\).*/\1/g

这样的任务(结构化文本,特定分隔符)最好的工具是awk,你不觉得在vim里要写太多的令你眼花的转义符吗。

箹锭⒈辈孓 2022-09-18 20:29:47

匹配倒还没想到。但是可以通过 “宏” 来操作。。

光标定在第一行第一个字符:
qq
WWWlDj0q
@q (有100行就 100@q)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文