String 如何在";时使用Vim split()&引用;作为模式

String 如何在";时使用Vim split()&引用;作为模式,string,vim,split,vi,String,Vim,Split,Vi,我正在尝试编写一个Vim脚本,需要拆分一个输入,如下所示: "expr.expr" 在“ 预期输出为:['expr','expr'] 但实际产出是:[] 将“更改为其他内容,如”,“有效,但我需要它是”您需要转义,否则您将在模式上拆分,即“任何内容”,导致空数组。 使用split(“expr.expr”,“\”)代替 您可以在:help literal string中看到单引号和双引号之间的区别: Single quoted strings are useful for patterns,

我正在尝试编写一个Vim脚本,需要拆分一个输入,如下所示:

"expr.expr"

预期输出为:
['expr','expr']
但实际产出是:[]


更改为其他内容,如
”,“
有效,但我需要它是

您需要转义
,否则您将在模式上拆分
,即“任何内容”,导致空数组。
使用
split(“expr.expr”,“\”)
代替


您可以在
:help literal string
中看到单引号和双引号之间的区别:

Single quoted strings are useful for patterns, so that backslashes do not need
to be doubled.  These two commands are equivalent:
    if a =~ "\\s*"
    if a =~ '\s*'
Single quoted strings are useful for patterns, so that backslashes do not need
to be doubled.  These two commands are equivalent:
    if a =~ "\\s*"
    if a =~ '\s*'