如何使用路径变量在 Vimscript 中设置字典文件?



我只是尝试在 vimscript 中设置一个字典文件以进行自动完成。它的工作原理如下。

setlocal dictionary+=C:Usersearikvimfilespackpluginsstartvim-baanftpluginfontawesome.txt

我想做的是,我想将这条长路径存储到一个变量中,并使用它。

let g:path = fnamemodify(resolve(expand('<sfile>:p')), ':h')
let g:path = g:path . 'fontawesome.txt'
setlocal dictionary+=g:path

在这里,我定义了一个全局变量g:path。由于 fontawesome.txt 文件和脚本文件在同一个文件夹下~ftplugin,我找到了当前脚本文件的文件位置并在末尾添加 fontawesome.txt。当我做echo g:path时,它看起来是正确的。

C:Usersearikvimfilespackpluginsstartvim-baanftpluginfontawesome.txt

但是,当我问 Vimsetlocal dictionary?时,我得到了这个;

dictionary=g:path

它不取g:path的值,而是g:path作为字符串或路径。有解决方法吗?任何帮助都非常感谢!

你应该使用:help :let.=来处理表达式,而不是:help :set+=,它不:

let &l:dictionary .= ',' .. g:path

您可以使用:execcute {expr1} ..,它将{expr1}计算产生的字符串作为 Ex 命令执行。

execute 'setlocal dictionary+='.g:path

相关内容

  • 没有找到相关文章

最新更新