有时候我有这样的代码:
json_encode([
'token' => 'as!"·)#|@∞"'
]);
如果将光标放在第一个[
上,然后按%
,将光标移动到匹配的]
。但是,如果我将光标放在第一个(
(在json_encode
的左侧)上,然后按%
,vim就会感到困惑,并且无法获取匹配的字符。
Vim认为匹配的字符是第二行字符串中的)
。
这类内容是特定于语言的,因此,有什么方法可以让vim知道如何处理特定的语言特征?
答案 0 :(得分:1)
可以使用%
(vi兼容性选项)控制cpoptions
命令的匹配行为。如果%
中的cpoptions
不是 ,vim应该忽略双引号或单引号中的括号。
您可以使用以下方法检查cpoptions
的值:
:set cpoptions?
如果%
字符位于cpoptions
中,则可以使用以下命令将其删除:
:set cpoptions-=%