在批量改Verilog信号名的时候很管用
方法一:多行编辑
按住shift+alt
,然后再用鼠标选择另外一行,即可在每一行相同列位置出现光标,同时编辑多行
方法二:正则表达式
比如我要替换下面的文本
.o_arburst (mst0_arburst),
.o_arlock (mst0_arlock),
.o_arcache (mst0_arcache),
.o_arprot (mst0_arprot),
.o_arqos (mst0_arqos),
.o_arregion (mst0_arregion),
.o_arid (mst0_arid),
.o_aruser (mst0_aruser),
变成这样:
.o_arburst (mst_0_ar_burst),
.o_arlock (mst_0_ar_lock),
.o_arcache (mst_0_ar_cache),
.o_arprot (mst_0_ar_prot),
.o_arqos (mst_0_ar_qos),
.o_arregion (mst_0_ar_region),
.o_arid (mst_0_ar_id),
.o_aruser (mst_0_ar_user),
那么就可以编写正则表达式mst(\d)_ar
来查找匹配,然后替换为mst_$1_ar_
,其中\d
指匹配一个数字,把\d
包起来的括号代表一个捕获组,第i对括号包起来的就是第i个捕获组,在替换的时候就可以通过$i
来使用捕获组。
另外一个更复杂的例子:\b[a-zA-Z]{3}_\d+_ar\w*
,其中:
\b
表示单词边界,确保我们匹配的是完整的单词而不是更长单词的一部分。[a-zA-Z]{3}
表示匹配任意三个字母。\d+
匹配一个或多个数字。\w*
匹配任意数量的字母、数字或下划线,直到单词的结尾。
本文采用知识共享署名4.0国际许可协议(CC BY 4.0)进行许可