我有大量 C 代码,并且大部分代码被注释掉和/或#if 0。当我使用 % 键匹配 if-else 的左括号和右括号时,它也匹配注释掉的代码。
有没有一种方法或vim插件在匹配括号时不会考虑注释掉或#if 0代码。
目前我正在使用 snipMate 和 omniComplete vim 插件。
我有大量 C 代码,并且大部分代码被注释掉和/或#if 0。当我使用 % 键匹配 if-else 的左括号和右括号时,它也匹配注释掉的代码。
有没有一种方法或vim插件在匹配括号时不会考虑注释掉或#if 0代码。
目前我正在使用 snipMate 和 omniComplete vim 插件。
正如 david 所提到的,matchit 插件能够跳过评论。#if 0
但是,插件中没有配置C 语法脚本定义的语法组。创建一个文件~/.vim/after/ftplugin/c.vim
并将以下内容放入其中:
" Make the matchit plugin also skip over sections commented out via #if 0.
let b:match_skip .= '\|cCppOut2'
matchit 插件(包含在 vim 中但未启用)默认情况下应该为注释掉的代码执行此操作。很确定它不适用于#if 0
代码。签出:h matchit
并:h match_skip