Dictionary 我如何告诉Vim使用适合filepath通配符glob的任何/所有字典文件?

Dictionary 我如何告诉Vim使用适合filepath通配符glob的任何/所有字典文件?,dictionary,vim,wildcard,glob,Dictionary,Vim,Wildcard,Glob,我正在尝试在文件名glob中使用通配符设置dictionary选项(允许自动完成我选择的某些单词),如下所示: :设置dict+=$VIM/dict/dict*.lst 希望是,有了最初来源的.vimrc(或者,在我的Windows 10中,_vimrc)中的这一行,我以后可以将不同的字典文件添加到$VIM/dict目录中,每次新调用VIM都将使用这些字典文件,而无需修改.vimrc设置。 但是,一条错误消息说没有这样的文件。当我给出一个特定的文件名时(如:set dict+=$VIM/dict

我正在尝试在文件名glob中使用通配符设置dictionary选项(允许自动完成我选择的某些单词),如下所示:

:设置dict+=$VIM/dict/dict*.lst

希望是,有了最初来源的.vimrc(或者,在我的Windows 10中,_vimrc)中的这一行,我以后可以将不同的字典文件添加到$VIM/dict目录中,每次新调用VIM都将使用这些字典文件,而无需修改.vimrc设置。 但是,一条错误消息说没有这样的文件。当我给出一个特定的文件名时(如
:set dict+=$VIM/dict/dict01.lst
),它就工作了。 问题是,我可以发誓这曾经奏效。自从我开始使用Vim 7.1以来,我的.vimrc文件中就有这个设置,直到最近我才想起任何这样的错误消息。现在它出现在我的Linux笔记本电脑以及我的Windows 7和Windows 10笔记本电脑上。我不记得这是什么时候开始的

是的,我尝试过使用反斜杠(如
:set dict+=$VIM\dict\dict*.lst
)以防出现Windows兼容性问题,但仍然不起作用。(这也发生在我的Linux笔记本电脑上,文件路径不使用反斜杠。)

我会衰老吗?还是有其他神秘的力量

现在假设它是最新版本的Vim中的一个变更,有没有办法指定“使用所有适合这个glob的字典文件”

--已编辑2021-02-1406:17:07


我还检查了是否有多个文件符合通配符glob。(我认为如果我有多个文件符合通配符,glob将变成两个文件名,相当于说
dict+=$VIM/dict/dict01.lst dict02.lst
,这在语法上是无效的。)但在删除额外文件后,glob仍然不起作用,因此只有一个文件符合我的路径名$VIM/dict/dict*.lst。(我之前在这里添加了另一个附录,愉快地解释了这就是我解决问题的方法,但结果证明为时过早。)

在设置选项之前,必须展开通配符。多个文件名必须用逗号分隔。比如说,

let &dictionary = tr(expand("$VIM/dict/dict*.lst"), "\n", ",")
如果向非空选项添加值,请不要忘记也添加逗号(
let
set
更通用,因此不太宽容):


在设置选项之前,必须展开通配符。多个文件名必须用逗号分隔。比如说,

let &dictionary = tr(expand("$VIM/dict/dict*.lst"), "\n", ",")
如果向非空选项添加值,请不要忘记也添加逗号(
let
set
更通用,因此不太宽容):


非常感谢。这解决了我的问题。但是你知道为什么地球仪以前工作吗?最新版本的Vim有什么变化吗?@kwantum不知道。我能说的不应该是这样,谢谢你!这解决了我的问题。但是你知道为什么地球仪以前工作吗?最新版本的Vim有什么变化吗?@kwantum不知道。据我所知,这不应该太远。