当前位置: 首页 > news >正文

vim定位有问题的脚本/插件的一般方法

在使用vim的过程中可能会遇到一些报错或其他不符合预期的情况,本文介绍一些我自己常用的定位有问题脚本/插件的方法(以下方法同样适用于neovim)

执行了某些命令的情况

这种情况最简单,使用:h 命令,如果插件有文档的话,可以很快的找到对应插件。

使用了快捷键的情况

使用:verbose nmap/imap 快捷键来查看最后一次设置该快捷键的脚本, 这在解决快捷键冲突的情况很有用。具体使用nmap还是imap需要根据使用快捷键时的模式来确定。

其他情况

有时候仅看问题的触发条件不能很好的确定问题所在,这种情况下采用先稳定复现,再逐步缩小范围的方法来排查。以我曾经遇到的一个问题为例,当时是在vue文件下,进入可视模式,选中一段文本后复制,跳转到目标位置后粘贴,发现粘贴的内容不是原来复制的文本,执行:reg后,发现匿名寄存器的内容被莫名其妙的修改了,因为这个问题我只在vue文件中发现过,所以怀疑这和某个vue相关的脚本有关,而这样的脚本我有不只一个。vim有个命令叫:scriptnames,可以列出当前加载的所有脚本,执行后大概有177个,排查起来比较繁琐,好在把vue文件后缀删掉后重新打开,问题就不在了,重新设置文件类型:set ft=vue问题再次出现,对比设置前后加载的脚本,相同的部分大概有157个,这部分就可以排除了,问题有很大可能就出在剩下的20个脚本中,这些脚本大概有三种来源,一种是自己写的,一种插件的,还有就是vim自带的,出问题的概率从左到右依次递减,重点关注前两种,注掉你觉得比较可疑的,或者使用二分法,每次注掉一半,不用几次就能找到了。

相关文章:

  • 蓝桥杯基础算法-递归
  • Efficient Burst Raw Denoising:稳定噪声方差和分频率降噪
  • EMA注意力机制
  • 数字游戏(继Day 10)
  • FreeRTOS临界区
  • mybatis是如何进行分页的?分页插件的原理是什么
  • 【学习笔记】HTTP和HTTPS的核心区别及工作原理
  • w283图书商城管理系统
  • Docker全方位指南
  • 嵌入式---加速度计
  • 原子化 CSS 的常见实现框架
  • 微软 SC-900 认证-考核Azure 和 Microsoft 365中的安全、合规和身份管理(SCI)概念
  • 从光波调制到温度补偿:Lilikoi光纤力传感器的核心技术拆解
  • 麦科信光隔离探头在碳化硅(SiC)MOSFET动态测试中的应用
  • Glowroot 是一个开源的 Java 应用性能监控(APM)工具,专为 低开销、易用性 设计,具体的应用及优势进行分析说明
  • 【Docker基础-镜像】--查阅笔记2
  • MySQL 查询重写怎样把复杂查询变简单,让查询提高一个“速”!
  • TCP三次握手和TCP四次挥手
  • 7-9 用天平找小球
  • HOW - 设计和实现一个动态渲染不同表单类型组件的 DynamicFormItem 组件
  • 鸿海下调全年营收展望:AI服务器业务强劲,预计今年营收增超50%
  • 马上评|安排见义勇为学生补考,善意与善意的双向奔赴
  • 哪种“网红减肥法”比较靠谱?医学专家和运动专家共同解答
  • 绿景中国地产:洛杉矶酒店出售事项未能及时披露纯属疏忽,已采取补救措施
  • 汤加附近海域发生6.4级地震
  • 山西临汾哪吒主题景区回应雕塑被指抄袭:造型由第三方公司设计