gvim列替换

最近做了个小的ECO,改netlist的时候遇到很多寄存器,这些寄存器只有几个字符不同,用列删除+列插入的方式有点蛋疼,幸好在网上找到了可以直接列编辑的操作,记录一下

列替换

假如要复制这8bits信号,并将其中的ppr改成aps

先按Ctrl + V进入可视模式,然后通过方向键,将要进行列替换的字符选中

c直接进入编辑模式,并自动删除选中字符

c是小写!!!!

c是小写!!!!

c是小写!!!!

在编辑模式下,输入想要的字符,按Esc完成列替换

总结操作flow如下:

  1. Ctrl + V进入可视模式,选中源字符
  2. c删除源字符,并进入编辑模式
  3. 编辑目标字符,按Esc完成替换

一点题外话:

其实用gvim的批量替换也可以实现,以上面的例子为例,列替换操作如下

:10,17s/ppr/aps/g

不用这种方法的原因是,稍大点的netlist动辄几十万行,而我要替换也就几个,有敲cmd的时间都够列替换操作几轮了,并且还要考虑这么大的文档,gvim会不会出现加载缓慢的情况(当然这个原因也可能跟服务器有关系,小声逼逼~~)

垂直分割

同样在ECO中,信号声明通常在一个位置,而我们要修改的内容可能里信号声明的位置相差几万行,那如果来回跳,gvim崩不崩我不知道,我肯定会抓狂的

那有没有办法不用来回跳呢,诶,这不就用到垂直分割了嘛

在cmd栏输入

:vsp file_path/file_name

如下图

效果如下

这样就可以左边声明信号,右边进行修改

鼠标拖动中间的分割线,可以调整两边窗口的大小

如果只是想对当前文档进行垂直分割,不需要加文档名

:vsp
posted @ 2025-07-05 20:47  行走的BUG永动机  阅读(26)  评论(0)    收藏  举报