因此,当我使用Atom编辑器时,我经常使用Snippets。它们在.cson文件中写成如下所示:
'.source.cpp':
'cout':
'prefix': 'cout'
'body': 'std::cout << "${1:/* message */}" << \n;$2'现在,当我这样写它时,Atom将\n解释为一个新的行字符,而不是:
std::cout << "${1:/* message */}" << \n
我得到:
std::cout << "${1:/* message */}" <<(自动插入新行)
我怎样才能把\n当作一串文本来对待呢?
发布于 2017-02-26 22:37:25
您需要使用4个反斜杠来使此工作。
'.source.cpp':
'cout':
'prefix': 'cout'
'body': 'std::cout << "${1:/* message */}" << \\\\n;$2'这将在编辑器中扩展到:
std::cout << "/* message */" << \n;我对Atom的内部结构还不太熟悉,无法完全解释这一点,但它可能会在加载cson文件(导致\\n)时,然后在插入过程中(导致最终的输出字符串\n)再插入一次内容。
发布于 2017-02-26 22:57:45
要正确转义\n,必须在单行字符串中使用\\n。然而,请注意,CSON也支持多行字符串,这通常是更好的维护。
示例:
body: """
std::cout << "${1:/* message */}" <<
$0
"""$0制表符总是最后一个,但是$2没有什么问题。
https://stackoverflow.com/questions/42473913
复制相似问题