在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
楼主: smint1986

[原创] makefile 相关,全路径+加嵌套

[复制链接]
 楼主| 发表于 2025-7-6 14:12:43 | 显示全部楼层
vi中替换从  ,修改lef  
    USE CLOCK ;
    PORT
      LAYER M1 ;
        RECT MASK 2 0.037 0.065 0.179 0.079 ;
    END
变成:
    USE CLOCK ;
    ANTENNAMODEL OXIDE1 ;
    ANTENNAGATEAREA 0.00086400 LAYER M1 ;
    PORT
      LAYER M1 ;
        RECT MASK 2 0.037 0.065 0.179 0.079 ;
    END
设计到的语法:
:%s/^\s*USE CLOCK ;\s*$/&\r    ANTENNAMODEL OXIDE1 ;\r    ANTENNAGATEAREA 0.00086400 LAYER M1 ;/g
命令解析
部分        说明
:%s/        全局替换(% 表示整个文件)
^\s*        匹配行首任意空格(包括 Tab)
USE CLOCK ;        匹配目标行内容
\s*$        匹配行尾任意空格   ,一定要实现这个行尾匹配,才能替换所有的这种命令
&        保留原行内容
\r        插入换行符(换行)
ANTENNA...        要插入的两行新内容(注意缩进)
/g        全局替换(所有匹配行)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-7-8 17:35:57 | 显示全部楼层
vi中的某个关键字匹配到某个关键字,包含多行
列PIN Q0
    DIRECTION OUTPUT ;
    USE CLOCK ;   ← 被替换为 USE SIGNAL ;
PIN Q5
    MODE INPUT ;
    USE SIGNAL ;   ← 被替换为 USE SIGNAL ; 这里的Q后面的数字会变化且只替换这个Q后面的USE  CLOCK到USE SIGNAL

:%s/\(PIN Q\d\_.\{-}USE\) CLOCK ;/\1 SIGNAL ;/g
解释:

Q\d:匹配 Q0 到 Q9(\d 表示任意数字)。

\_.\{-}:非贪婪匹配任意字符(包括换行),直到 USE。

\1:保留 PIN Qx ... USE 部分,仅替换 CLOCK 为 SIGNAL。


方法 3:使用 :g 全局命令(适用于多行范围)
如果 PIN Qx 和 USE CLOCK ; 之间可能有复杂内容,可以:

vim
:g/PIN Q[0-9]/,/USE CLOCK ;/s/USE CLOCK ;/USE SIGNAL ;/g
解释:

:g/PIN Q[0-9]/:查找所有 PIN Q0 到 PIN Q9 的行。

,/USE CLOCK ;/:从 PIN Qx 行开始,到 USE CLOCK ; 结束。

s/USE CLOCK ;/USE SIGNAL ;/g:替换匹配范围内的 USE CLOCK ;。

关键点总结
语法        作用
Q\d 或 Q[0-9]        匹配 Q0 到 Q9
\_.\{-}        非贪婪匹配任意字符(包括换行)
\1        引用第一个捕获组(保留匹配部分)
:g/start/,/end/cmd        从 start 到 end 执行 cmd


\d        匹配数字        D\d → D0, D1, D2
\_[^;]*        匹配任意字符(包括换行),直到 ;        PIN D0 ... ;
\1        引用第一个捕获组        \(PIN D\d\) → \1
:g/pattern/cmd        对所有匹配 pattern 的行执行 cmd        :g/PIN D\d/s/.../.../



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-24 07:02 , Processed in 0.010221 second(s), 3 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表