包含文件夹中的所有 vim 文件

包含文件夹中的所有 vim 文件

对于我来说,.bashrc我有很多小片段文件.config/bash,例如10-prompt.sh等等。在我的实际中.bashrc,我只有以下内容:

configdir="$HOME/.config/bash"

for file in "$configdir"/*.sh
do
        source "$file"
done

我想为我的做同样的事情.vimrc,但我对 VimL 不太有信心我可以写出那样的东西。

包含给定子文件夹中所有代码片段的代码片段看起来会是什么样子.vimrc?理想情况下,我想创建一个.vim/rc/文件夹,将我的代码片段放入其中。

答案1

编辑

这是@queueoverflow 的简短版本:

for rcfile in split(globpath("~/.vim/rc", "*.vim"), '\n') 
    execute('source '.rcfile)
endfor

完編

编辑

(删除了我的愚蠢答案)

下面的功能似乎有效。

function! SourceMyScripts()
  let file_list = split(globpath("~/.vim/rc", "*.vim"), '\n')

  for file in file_list
    execute( 'source '.file )
  endfor
endfunction

将其添加到您的~/.vimrc类似内容中:

call SourceMyScripts()

完編

答案2

一个非常简单的方法是“ :runtime rc/*.vim”。当然,这将迭代可能存在于每个目录中的每个“rc”子目录'runtimepath',但我怀疑这不会有问题。

看:

:help :runtime
:help 'runtimepath'

相关内容