如何在vim中对全局模式进行否定匹配?

7

我正在尝试将vim的arglist填充为目录中不包含"matcher"的所有文件名。我可以使用以下方法填充包含"matcher"的文件名:

args *matcher*

有没有一种简单的方法来否定glob,以获取所有不匹配的文件?
2个回答

8
我唯一知道的方法如下:
:args * | silent! argdelete *matcher*

需要使用 silent! 部分来避免出现 No match 错误。

更新。 还可以创建一个方便的命令来少打几个键:

:command! -nargs=* Args args * | silent! argdelete <args>

并像这样使用:

:Args *matcher*

好的,我会使用它。(还要获取加权键 :) 与之一起工作更加愉快。换句话说,很棒的头像) - sehe
好的解决方案,可惜vim不能直接支持这个。 - Sean Mackesey

1

xaizek的命令简短而聪明,不幸的是,它只能处理当前目录中的参数文件。我对此进行了扩展,使其能够与任何目录一起使用,并将其与其他有用的参数处理命令捆绑在一起,放在我的ArgsAndMore插件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接