如何设置vimrc标签以使用shell环境变量

use*_*842 7 vi vim shell

我试过但失败了,需要专家的帮助.在.vimrc中我有以下内容:

set tags=/sandbox/myNameIsSam/tags

这很好用.在gvim里面,我可以加载标签文件,一切都很棒.但是,我希望每个用户都有自己的项目标签文件.这里的方式和原因并不重要.以下设置似乎没有做我需要的.有人可以帮忙吗?

let projectTagFile='/sandbox/'.$USERNAME.'/tags'
set tags=projectTagFile
Run Code Online (Sandbox Code Playgroud)

Ken*_*ent 5

你应该得到的用户名$USER$USERNAME

重要的是,在这种特殊情况下,您不能使用set此选项,因为它只允许您将其设置为单个文字值.但是,let使用Vimscript可以使用函数来获取值,例如,或者在您的情况下,通过连接(请在此处阅读有关选项的更多信息).试试这个:

let &tags='/sandbox/'.$USER.'/tags'
Run Code Online (Sandbox Code Playgroud)

要检查是否tags设置正确,您可以执行:

:set tags?
Run Code Online (Sandbox Code Playgroud)

或者,对于完全合格的路径:

:echo &tags
Run Code Online (Sandbox Code Playgroud)