文章目录

  • 如何解决在中间插入序列的问题(寄存器+宏处理)
  • 如何快速跳转到开头和末尾
  • 快速高亮匹配相同单词
  • 想要选中几万行实现复制
  • PT timing path如何换行更好看
  • 采用折叠功能,更方便阅读
  • 如何在gvim里面直接打开path的文件

本篇博客记录了VIM在实际工作中积累的一些使用技巧,这些问题的积累以及解决办法,能够更好的提高工作效率,并更具有专业性。大多数vim的使用者都各行各业,目前来说,真正对于IC的人,如何更好的使用vim只有放到实际case中才会深有体会。
版权所有,请勿抄袭 CSDN:ciscomonkey。
转载请务必联系本人。

如何解决在中间插入序列的问题(寄存器+宏处理)

本问题的来源于某一天师姐询问的一个问题:
思考,如何让下面的每一行自动插入序号?

在vim里面,宏处理的意思就是采用宏录制和宏播放
宏录制可以记录当前的操作
宏录制将会对录制的操作进行重复执行. n@a代表对存储在a寄存器下宏录制播放n次

1、首先准备寄存器,让i等于0.

:let i =0

好,下面开始宏录制,注意,下面的每一次操作,一定要具备全局观,你的每一次操作,都意味着你的每次播放都会重复这样的操作。

2、开始宏录制
普通模式下,q+任意字母键,假设q+m
我们按下home键,让光标定位到句首(这样做,是为了在宏播放的时候更具有通用性)
按下e两次,代表跳转单词2个,然后按下a,代表在光标后插入。

然后输出ctrl+shift+r代表插入寄存器i,然后我们回车



3、现在ESC,回到普通模式,按下j跳到下一行。此时,我们让i+1

:let i=i+1

退出宏录制q

4、宏播放上面我们的操作即可
简单来说就是,每跳到下一行,就执行i+1的操作。

10@a

如何快速跳转到开头和末尾

gg 跳转到开头
shift+g或者G跳转到末尾

快速高亮匹配相同单词

需求:我有时候想快速的高亮一个单词,看看有没有在别的地方定义到这个变量,往往我之前是去用搜索,但是搜索很多时候会跳行,文件大了后,不仅慢,而且跳来跳去很不方便。
1、第一种解决方式选中单词双击后,按键盘shift+* 或者是小键盘的 *
2、第二种解决方式是按住键盘shift键,然后去双击鼠标左键。(这个方法很快)
但上面都是完全匹配的高亮,也就是搜索chain,并不会把chainnet搜索出来。

想要选中几万行实现复制

有时候,我们想要选中指定的行,但是想要选中的行,实在太多,比如几万行。我不可能说用鼠标一直滚滚滚。
比如,我要选中10852~267937,然后复制,我粘贴到一个新的文件当中。

10852GV267937Gy

y是复制到剪切板的意思。
如下图所示,G是是goto in的意思,输入行号,然后goto in,然后进入V可视化行模式,接着输入末尾指定行,再次进入goto in模式,此时已经选中了想要的行了。然后输入y,或者点击gvim上面的复制板即可。

PT timing path如何换行更好看

我们知道当我们用PT的时候,如果使用timing path的报告一个fanout的时候,PT全部给你显示在一行里面,你简直没法看。
注意,按end,你还会看到 ... 也就是不会显示全面。
因为all_fanout返回的是一个collection,默认display只会显示100条,我们可以用下面的cmd开启。

set collection_result_display_limit -1

但是写到rpt里面的也杂乱无章,因为会全部给你写到一行里面去。

我们可以插入换行符号,然后更好看。

set list 开启换行符等
set nolist 关闭换行符等

因为我们注意到collection是以逗号分隔开的,所以我们把逗号换成换行符即可。

:%s/, /^M/g

上面的^M并不是手敲的,需要用ctrl+v,ctrl+m 按出来。
实现效果如下,就非常整齐了。

采用折叠功能,更方便阅读

如下图所示,有时候因为文本内容太长了,我们需要折叠起来看,如下图所示,我折叠了175-180行,以及折叠了185-190行

:175,180fo
:185,190fo


如果我要取消折叠,可以采用下面的按键,但是需要鼠标选中折叠的位置
zd即可删除当前光标所在位置的的折叠

如何在gvim里面直接打开path的文件

很多时候,我们可以看到GVIM里面有路径
比如 /project/DFT/scan_setting.tcl
我们可以选中这个path,然后用小写的gf即可
但是按了gf之后,会直接覆盖掉当前的文件。
如果想要返回之前的文件,可以用命令 :bp 或者 :bn
:bp代表back previous
:bn代表back next

如果想要更快方式的可以使用快捷方式返回:
ctrl+o

关于IC工程师的VIM实际工作技巧相关推荐

  1. 如何在工作中快速成长?致工程师的10个简单技巧

    如何在工作中快速成长?致工程师的10个简单技巧 阿里妹导读:阿里有句非常经典的土话,"今天的最好表现,是明天的最低要求."如何挖掘潜能.发现更好的自己?今天,阿里巴巴高级无线开发专 ...

  2. 【Linux】vim使用小技巧

    (图片来源于网络,侵删) Vim 使用技巧整理 Vim 是 VIMproved 的缩写,即 Vim 编辑器是 Vi 编辑器的改进版.Vim 采用模式编辑的理念,其提供多种操作模式,按键在不同的模式下作 ...

  3. 原创-linux下编译器vi、vim的使用技巧

    玩了三年linux,把最最常用的vim编译器的一些使用技巧整理了下分享给大家. linux下的文本编辑器vi=VIsual: vim(vi improved) vi 模式化编译器分为三个模式: 输入模 ...

  4. (238)数字IC工程师核心技能树(一)

    (238)数字IC工程师核心技能树(一) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)数字IC工程师核心技能树(一) 5)技术交流 6)参考资料 2 FPGA入门 ...

  5. 推荐算法工程师学习路线及工作指南

    干货!推荐算法工程师学习路线及工作指南 以下文章来源于大数据与人工智能 ,作者gongyouliu 本文从我自己的学习成长经历.如何判断自己是否适合从事推荐算法.推荐算法工程师需要的知识储备.怎么找一 ...

  6. IC工程师:百万年薪路上的20个阶段,你在哪个阶段?

    关  注  我   , 聊  后  端  和  芯  事 Tao的第552篇原创 多年以后,愿你不负所期 By : Tao I  C  圈  很  小   -   相  遇  乃  有  缘 &quo ...

  7. IC入行须知丨数字IC工程师岗位全解

    众所周知,芯片业厂商根据设计制造流程将芯片厂分为三种模式: 一种集设计.制造.封测为一体,叫做IDM(Integrated Device Manufacture)模式,比如Intel.三星. 一种纯设 ...

  8. Facebook 工程师是如何高效工作的?

    编者按:Facebook 的工程师有哪些高效工作的经验呢?软件工程师访谈了多位 Facebook 的高产工程师,总结了他们的共同经验以及晋级之路,供各位参考. 成为高效开发者这件事你可以通过经验.书本 ...

  9. 【实施工程师】vim命令

    [实施工程师]vim命令 vim命令 编辑文件使用[vi]或[vim]均可. 键盘输入[i]是开始输入: 输入测试内容: 键盘输入[Esc+:wq]退出并保存 查看是否编辑成功: 保存成功.

最新文章

  1. Python基础教程:input()输入与数据类型转换
  2. 天天象棋 残局闯关 第8关
  3. 【Node.js】serve 实现目录浏览服务
  4. linux dns 问题吗,Linux下DNS的问题
  5. C与C++关于*与的传参解析
  6. dbeaver查看执行计划_SAP学习基础篇(52):PP模块-物料需求计划
  7. NoSQLAttack针对 mongoDB 的攻击工具
  8. linux 监听 ipv6,zabbix 监控 ipv6
  9. RS485转OPC UA
  10. layaair的TS版本报错问题
  11. C# 请求外部服务的办法
  12. 学JAVA编程用什么电脑配置_学习编程,你真正需要的是什么样配置的电脑?
  13. java word 加密_java 加密解密WORD文档
  14. Android网络开发技术实战详解
  15. QDialog设置标题
  16. C++中闭包的简单实现
  17. 波的干涉(大学物理笔记)
  18. mysql筛选英文字符_MySQL:字符串中的数字、英文字符、汉字提取
  19. 三篇强化学习用于多智能体路径规划的论文
  20. 高斯模糊加图片展示(仿ipad qq图片点击展示)

热门文章

  1. Java 线程池的介绍以及工作原理
  2. lamda表达式 随机取数据的方法
  3. 实现Web虚拟现实的最轻松方案—A-Frame框架
  4. 【VS开发】Return与Exit的区别
  5. hdu 5092 线裁剪(纵向连线最小和+输出路径)
  6. 关于HtmlParser中Parser【org.htmlparser.Parser】这个类奇怪的地方...求解释【已获得解释】...
  7. PlayFramework入门教程
  8. R语言应用统计1 主成分分析
  9. Win32 API 显示鼠标坐标位置
  10. 使用纯 Win32 API 编程实现Winpcap 封包捕获的第一个例子