在Vim中使用keybind命令源多个文件

在Vim中使用keybind命令源多个文件,vim,Vim,这是我的任务: nnoremap <Leader>L :so $MYVIMRC<CR>:so ~/.vim/after/plugin/*.vim<CR> nnoremap L:so$MYVIMRC:so~/.vim/after/plugin/*.vim 直到我在plugin文件夹中添加了第二个配置文件,它才开始工作。现在,我从:so[urce]命令中获得了E77:过多的文件名 我发现,这并不能使如何从命令字符串(如keybind中)执行它变得显而易见 如何

这是我的任务:

nnoremap <Leader>L :so $MYVIMRC<CR>:so ~/.vim/after/plugin/*.vim<CR>
nnoremap L:so$MYVIMRC:so~/.vim/after/plugin/*.vim
直到我在plugin文件夹中添加了第二个配置文件,它才开始工作。现在,我从
:so[urce]
命令中获得了E77:过多的文件名

我发现,这并不能使如何从命令字符串(如keybind中)执行它变得显而易见

如何在键绑定中编写循环?必须声明函数吗


另外,我之所以在
.vim/after/plugin/
中有脚本,是因为某些插件的某些配置命令必须在其初始化运行后运行,而插件加载脚本则在vimrc之后运行。(因此它们不能直接进入vimrc)。

:source
只接受一个参数,但您可以使用
:runtime
命令:

runtime! after/plugin/*.vim

这几乎正是
:help:runtime

下给出的第二个示例。您还可以将命令链接在一起,这并不像Romaill的回答那么好,但您可以进入终端并在那里运行源代码

nnoremap <Leader>L :so $MYVIMRC|:!source `find ~/.vim/after/plugin/ -name "*.vim"`<CR>
nnoremap L:so$MYVIMRC |::!source`find~/.vim/after/plugin/-name“*.vim”`

我很好奇:什么插件会让这成为必要?这听起来很像糟糕的设计。大多数插件设置了我更喜欢覆盖的突出显示样式。有一个插件我离不开HiCursorWords,我有一个微妙的bgcolor和下划线高亮风格。可能有一种方法可以让我使用链接来设置它们,使它们不会被我的vimrc踩到,但我不会被打扰。它非常干净,工作也很好,我可以在/plugin/*.vim之后添加这些
脚本到我的git repo中,这样我就可以毫不费力地跟踪配置,所以我很满意。Uuurgh,这是我每次安装IDE时都会关闭的功能。如果答案解决了你的问题,别忘了勾选。这很有趣。它提高了我的工作效率,你不会相信的。打字错误?过去的事。需要弄清楚一些讨厌的新代码是干什么的吗?容易的。无痛的不要再把它看成是一种干扰,而要开始把它看作是揭示程序是如何相互联系的。