Vim(脚本) - 用作表达式时在字符串中引用

时间:2014-06-11 13:35:12

标签: vim

我正在尝试执行以下操作:

: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\""

1 个答案:

答案 0 :(得分:6)

理解这种特性的关键确实可以在:help :put找到:

  

你需要逃避'|'和'''   阻止他们终止的字符   命令。

显然,未转义的"会终止表达(并且可能会发表评论)。因此,逃避工作:

:put = 'a string with \"quotes\"'

你也可以通过使用(加倍)单引号来解决这个问题:

:put ='a string with ''quotes'''

如果你想使用双引号,它们都需要转义,内部一次需要两次:

:put = \"a string with \\"quotes\\"\"
相关问题