Vim把命令不允许双引号(因此没有转义序列)

时间:2016-08-05 02:23:51

标签: vim

我试图运行包含Vim put命令的脚本。我想在我的字符串中使用制表符。以下代码有效,但' \ t'由于单引号而未被解释。当我用双引号替换字符串时,错误消息似乎表明第一个双引号结束了命令。 代码是......

let a=range(0,5)
for i in a
    put=i . '\t' . printf('\t%c', i)
endfor

输出是......

0\t\t
1\t\t
2\t\t
3\t\t
4\t\t
5\t\t

有没有人有任何建议?我想要' \ t'替换为实际的制表符。

1 个答案:

答案 0 :(得分:0)

使用双引号而不是文字字符串。

let a=range(0,5)
for i in a
    put=i . \"\t\" . printf(\"\t%c\", i)
endfor

你也可以使用map()来缩短这一点:

put=map(range(5), 'printf(\"%d\t\t%c\", v:val, v:val)')

如需更多帮助,请参阅::h string:h literal-string