说我有一个类似以下的脚本:
#!/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)的自动突出显示被包含括号的正则表达式模式破坏。我想通过按%
在匹配的括号之间切换,但不能再使用它了。我该如何解决这个问题?
答案 0 :(得分:1)
作为一个通用文本编辑器,Vim可以处理转义大括号(cp。:help cpo-M
),但由于它不知道完整的基础语法,因此它有其局限性,特别是对于复杂的语言像Perl和C ++。所以,除了重写有问题的部分,或者使用Perl的完整解析器切换到另一个编辑器/ IDE之外,你可以做些什么。
PS:Vim 7.2来自2008年,相当过时。应该可以安装最新版本7.4;如果您无法找到适合您的发行版的软件包(对于Windows,请查看Cream project中的二进制文件),compile也不是很难(例如来自Mercurial)来源)在Linux上。功能