使用正则表达式时突出显示括号

时间:2014-07-24 12:36:06

标签: regex vim syntax-highlighting

说我有一个类似以下的脚本:

#!/usr/bin/perl
use strict;
use warnings;

open(FILE,"< file.txt") or die;
while (my $line = <FILE>) {

        if ($line =~ /^\s*[^}]/){
                print "hey $line\n";
        }
}

括号匹配,脚本运行正常。尽管如此,Vim(版本7.2)的自动突出显示被包含括号的正则表达式模式破坏。我想通过按%在匹配的括号之间切换,但不能再使用它了。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

作为一个通用文本编辑器,Vim可以处理转义大括号(cp。:help cpo-M),但由于它不知道完整的基础语法,因此它有其局限性,特别是对于复杂的语言像Perl和C ++。所以,除了重写有问题的部分,或者使用Perl的完整解析器切换到另一个编辑器/ IDE之外,你可以做些什么。

PS:Vim 7.2来自2008年,相当过时。应该可以安装最新版本7.4;如果您无法找到适合您的发行版的软件包(对于Windows,请查看Cream project中的二进制文件),compile也不是很难(例如来自Mercurial)来源)在Linux上。功能