regex - 删除vim中每一行的第i个字符?
问题描述
我目前正在尝试简化我编辑文件的方式,我需要找到一种方法来删除每行的第 2-10 个字符,保留每行的第一个字符。
我知道您可以使用 :%s/^.{0,N}// 删除每行的前 N 个字符,但我不知道如何使第一个匹配成为该行的第二个字符,而不仅仅是用 ^ 表示的行首
抱歉,如果这是重复的,我找不到任何其他帮助我的问题。
解决方案
我知道您需要删除从每行第二个字符开始的九个字符。
您可以使用
:%s/^.\zs.\{9\}//
细节
^
- 一行的开始.
- 任何一个字符\zs
- “lookbehind”替代方案,删除到目前为止已经匹配的文本.\{9\}
- 任意九个字符。
推荐阅读
- cryptography - 用错误的密钥解密是否等同于加密?
- c# - 如何从选定的 WPF ComboBox 项 C# 中显示内容
- python-3.x - 二进制变量和约束的 Pymoo 优化问题
- mysql - IS NULL 11,000 条记录上的 MySQL 阻塞
- javascript - 如何获得正确的日期(从我的时区)?
- git - 为什么 git 看不到我确定存在的远程仓库?
- c - 将结构转换到可变长度缓冲区
- android - Android用捏调整视图布局参数的大小
- python - 从本地目录导入多个 CSV 文件并进行内部连接
- discord.js - 使用使用 enmap 保存的通道 ID 发送消息