如何获取目录中的所有vim文件

我已将.vimrc分成几个文件并将它们放入
~/vimfiles/vimrc.d/
。 目前,我使用确切的名称来源该目录中的每个文件:
source ~/vimfiles/vimrc.d/file1.vim
source ~/vimfiles/vimrc.d/file2.vim
等等 如何使该目录中的所有文件循环,所以我只能在我的.vimrc中进行这样的循环:
for file in ~/vimfiles/vimrc.d/*.vim
   source file
enfor
    
已邀请:
正如mb14已经说过的,如果你将它们放入
~/.vim/plugin
,它们将自动获取。但是,有关信息,如果要获取vimrc.d目录中的所有文件,则可以执行此操作(需要相对较新的Vim):
for f in split(glob('~/vimfiles/vimrc.d/*.vim'), 'n')
    exe 'source' f
endfor
您可能还对aut5ѭ中描述的自动加载机制感兴趣:如果您定义了许多函数,这可以使启动更快,因为函数仅在第一次使用时加载。     
您可以将文件放在plugins目录(〜/ .vim / plugin)中。它们将自动加载。     
mb14给了你最好的答案。你想要自动执行什么?然后使用标准组织:这里是plugin /子目录。 否则,
:runtime
会成为你的朋友:
:runtime! vimrc.d/*.vim
:source
当它的参数不存在时吠叫而
:runtime
默默地没有任何来源。
:source
只能提供一个文件,而
:runtime!
可以提供任意数量的文件。
:source
采用绝对路径名或相对于当前目录的路径名,而
:runtime
采用相对于
'runtimepath'
选项的路径名,只要您尊重vim约定,这应该不是问题。     
DrAl的例子对我不起作用,这就是我实现它的方法:
for fpath in split(globpath('~/.vimrc.d/', '*.vim'), 'n')
  exe 'source' fpath
endfor
    

要回复问题请先登录注册