匹配以 _ 开头的字符串与 vimscript

Matching a string with vimscript that starts with _

我正在尝试使用 Vimscript 有条件地加载 vim/neovim 中的文件,除非文件名带有下划线前缀。它尚未 100% 工作,而是所有文件仍在加载:

for filename in split(globpath('~/.config/nvim/plugins', '*.vim'), '\n')
  if filename !~ "^_"
    exe 'source' filename
  endif
endfor

有点像 file !~ "_",但它与字符串中任意位置的下划线相匹配。我只需要忽略 start with _.

的文件名

我在这里犯了一个小错误,我假设文件名包含类似 _filename.vim 的内容,但字符串也包含路径,/Users/someuser/blah/_filename.vim.

我通过分割路径修复它,只检查数组中的最后一个元素:

for filename in split(globpath('~/.config/nvim/plugins', '*.vim'), '\n')
  if split(filename, "/")[-1] !~ "^_"
    exe 'source' filename
  endif
endfor