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

时间:2013-01-28 22:53:32

标签: shell vim vi

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

set tags=/sandbox/myNameIsSam/tags

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

let projectTagFile='/sandbox/'.$USERNAME.'/tags'
set tags=projectTagFile

2 个答案:

答案 0 :(得分:5)

您应该$USER而不是$USERNAME

获取用户名

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

let &tags='/sandbox/'.$USER.'/tags'

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

:set tags?

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

:echo &tags

答案 1 :(得分:3)

我总是这样做

let tagfile = '/sandbox/' . $USERNAME . '/tags'
execute 'set tags=' . tagfile

但我现在更喜欢@ Kent的解决方案。这样做从未想过我。