我在 vim-script 中寻找一些方法
json.dumps(join(getlines(1,'$'),'\n'))
就像 python 的json模块一样
例如在 Vim 中打开一个文本文件:
1. var a=1,
2. b=2,
3. c="";
调用函数应该输出如下
"var a=1,\nb=2,\nc=\"\""
它是一个有效的 javascript 字符串文字
无论如何,我找到了一种方法来实现这一点,以下是我的代码
let b:content = join(getline(1,'$'),"\\n\\\n") . "\\\n"
let b:content = printf("\"%s\"", escape(b:content,"\""))
上面的代码运行后,你会得到
"var a=1, \n\
b=2,\n\
c=\"\";\
"
它是一个有效的多行 javascript 字符串文字,但缺点是根据这篇文章,此功能将在 ECMA-262 3rd Edition 中删除