如何在目录中找到所有vim文件的来源
我已将我的.vimrc拆分为几个文件,并将它们放入如何在目录中找到所有vim文件的来源,vim,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 您
~/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
您只需将文件放入plugins目录(~/.vim/plugin)。它们将被自动加载。如前所述,如果您将它们放入
~/.vim/plugin
中,它们将被自动加载。但是,为了了解更多信息,如果您想获取vimrc.d目录中的所有文件的源代码,您可以这样做(需要相对较新的Vim):
您可能还对自动加载机制感兴趣,如中所述:如果您定义了许多函数,这可以使启动更快,因为这些函数仅在第一次使用时加载。mb14为您提供了最佳答案。你想要自动执行的东西吗?然后使用标准组织:这里是plugin/子目录 否则,
:runtime
将是您的朋友:
:runtime! vimrc.d/*.vim
在其参数不存在时发出汪汪声,而:source
无需发出任何声音李>:runtime
只能生成一个文件,而:source
:runtime代码>可以生成任意数量的文件
采用绝对路径名或相对于当前目录的路径名,而:source
采用相对于:runtime
选项的路径名,只要遵守vim约定,这应该不会有问题'runtimepath'
- DrAl的例子对我不起作用,我就是这样做到的:
for fpath in split(globpath('~/.vimrc.d/', '*.vim'), '\n')
exe 'source' fpath
endfor
下面的剪报是我在
~/.vimrc
文件中使用的,用于在~/.vimrc.d/
目录和子目录中生成脚本
for f in glob('$HOME/.vimrc.d/**/*.vim', 0, 1)
execute 'source' f
endfor
检查vim-c':help glob'
以了解有关其他glob
参数的详细信息
TLDR
glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
设置为False允许应用“后缀”和“wildignore”选项{nosuf}
设置为True会导致{list}
返回文件名中包含新行的列表glob
.vim
glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*