我正在尝试执行以下操作:
:put = 'a string with "quotes"'
但我明白了:
Missing quote: 'a string
Invalid expression: 'a string
我可以解决这个问题:
:let s:var = 'a "var"'
:put = s:var
通过阅读:h :put
,我发现put
,后跟=
,需要表达式。我不知道这是不是问题,我认为字符串是表达式(是值),就像许多其他语言一样。
注意这也不起作用:
:put = "a string \"with quotes\""
答案 0 :(得分:6)
理解这种特性的关键确实可以在:help :put
找到:
你需要逃避'|'和''' 阻止他们终止的字符 命令。
显然,未转义的"
会终止表达(并且可能会发表评论)。因此,逃避工作:
:put = 'a string with \"quotes\"'
你也可以通过使用(加倍)单引号来解决这个问题:
:put ='a string with ''quotes'''
如果你想使用双引号,它们都需要转义,内部一次需要两次:
:put = \"a string with \\"quotes\\"\"