如何使用vim脚本中的字符串设置选项

时间:2013-09-29 15:29:18

标签: vim

我正在尝试设置一个选项,但在使用变量时它不起作用。

这实际上是有效的:

set runtimepath+=~/.vim/bundle/foo/foo.vim/

当我尝试这个时,它不再起作用了:

g:foo_path = '~/.vim/bundle/foo/foo.vim/'
set runtimepath+=g:foo_path

我在这里看到了类似的主题,他们使用以下命令设置带变量的选项:

let &backupdir=s:vimetc.'backups/'

然而,当我尝试这个时:

 let &runtimepath+=g:foo_path

它仍然不起作用。我得到了:

 E734: Wrong variable type for +=

有什么想法吗?感谢。

3 个答案:

答案 0 :(得分:5)

问题是set不支持使用字符串变量,而let不支持+ =用于字符串类型。

这应该有效:

let g:foo_path = '~/.vim/bundle/foo/foo.vim/'
let &rtp.= ',' . g:foo_path

答案 1 :(得分:1)

你几乎得到了它。通过:set option+=val附加选项(无论选项值的类型,即字符串与数字),而使用String 变量的连接操作完成通过:let &option .= var。您收到E734错误,因为+= :let仅用于数字添加。

答案 2 :(得分:1)

另一种解决方法

exe 'set runtimpath='.a:lines

在评论者的评论之后,2.0版本

exe 'set runtimepath='.&runtimepath.','.g:foo_path