第三个参数{sub} of substitute()when:echo

时间:2016-01-31 11:35:41

标签: vim

第三个参数{sub}是一个字符串还是一个表达式导致我不能理解的不同行为:

internal static IRandomAccessStream ConvertTo(byte[] arr)
{
    return arr.AsBuffer().AsStream().AsRandomAccessStream();
}

似乎在第一种情况下,:echo substitute(" ", " ", "ab\nc", "") ab c :echo substitute(" ", " ", '\="ab\nc"', "") cb 在该点分割为两行,而在第二种情况下,\n将光标移动到同一行的开头。怎么解释这个?

1 个答案:

答案 0 :(得分:0)

  

我切换到Vim 7.4-1-963,然后我得到两个相同的输出,相同   作为第一个例子。为什么呢?

Patch 7.3.225

Problem:    Using "\n" in a substitute inside ":s" does not result in a line break.
Solution:   Change behavior inside vim_regexec_nl().   Add tests.  (Motoya Kurotsu)
Files:      src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
            src/testdir/test80.in, src/testdir/test80.ok,
            src/testdir/Makefile, src/testdir/Make_amiga.mak,
            src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
            src/testdir/Make_os2.mak, src/testdir/Make_vms.mms