Dictionary 我如何告诉Vim使用适合filepath通配符glob的任何/所有字典文件?
我正在尝试在文件名glob中使用通配符设置dictionary选项(允许自动完成我选择的某些单词),如下所示: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
:设置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不知道。据我所知,这不应该太远。