![注释掉 if 语句和匹配的 endif 关键字](https://linux22.com/image/31027/%E6%B3%A8%E9%87%8A%E6%8E%89%20if%20%E8%AF%AD%E5%8F%A5%E5%92%8C%E5%8C%B9%E9%85%8D%E7%9A%84%20endif%20%E5%85%B3%E9%94%AE%E5%AD%97.png)
在 vim 中,我可以找到匹配的if
语句并在前面添加适当的注释符号。 (例如%s/.警报。/#\0/g),但是我留下了endif
必须手动找到的悬空 s。我可以通过使用宏来简化这个过程,但是我可以用sed
(更具体地说是 vim 中的一个)来实现这一点吗?
答案1
简单正则表达式的问题在于处理嵌套条件;您不能简单地搜索下一个endif
并将其注释掉。幸运的是,匹配Vim 附带的插件解决了这个问题(对于许多文件类型);当打开 时if
,%
映射将带您到相应的endif
。
将其与类似的插件结合起来NERD评论员,您可以轻松地为其构建映射:
:nmap <Leader>cif <Leader>cc%<Leader>cc