我输入:echo expand("<cword>")
,vim将在光标上显示该字。
但是当我输入:tag expand("<cword>")
时,它会提示:
E426:找不到标签:展开(
似乎没有在标记函数上调用expand函数,expand(
作为参数发送到tag
。
提前感谢任何见解。 任何参考都是首选。
答案 0 :(得分:5)
Vimscript的评估方式与:
命令行中输入的Ex命令完全相同。 ex
中没有变量,因此无法指定它们。以交互方式键入命令时,您可能使用<C-R>=
插入变量内容:
:tag <C-R>=expand('<cword>')<CR><CR>
...(嗯,实际上,当前单词的<C-R><C-W>
更短。)
在脚本中,必须使用:execute
。必须引用Ex命令的所有文字部分(单引号或双引号),然后与变量连接:
:execute 'tag' expand('<cword>')