为什么 vim 扩展不起作用

why vim expand doesn't work

我输入:echo expand("<cword>"),vim应显示光标上的字。 但是当我输入:tag expand("<cword>")时,它提示:

E426: tag not found: expand(

看来,标签函数没有调用expand函数,expand(作为参数传给了tag

提前感谢您的任何见解。 任何参考都是首选。

Vimscript 的计算方式与在 : 命令行中键入的 Ex 命令完全相同。 ex 中没有变量,因此无法指定它们。交互式输入命令时,您可能会使用 <C-R>= 来插入变量内容:

:tag <C-R>=expand('<cword>')<CR><CR>

...(好吧,实际上当前单词有更短的 <C-R><C-W>)。

在脚本中,必须使用:execute。 Ex命令的所有文字部分都必须用引号引起来(单引号或双引号),然后与变量连接:

:execute 'tag' expand('<cword>')