如何在 "." 时使用 Vim split()作为模式

How to use Vim split() when "." as pattern

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

"expr.expr"

"."

using split("expr.expr", ".") 

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

用其他东西改变 ".",比如 "," 可以,但我需要它是 "."

您需要转义 .,否则您将根据模式 . 进行拆分,即 'anything',从而得到一个空数组。
请改用 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*'