如何使用vim打开当前目录和所有子目录中的所有文件?

Modified on: Sat, 30 Jun 2018 10:00:00 +0800

到目前为止,我一直在使用vim */**,它似乎打开了子目录中的所有文件,但不是当前目录中的那些文件,而vim *打开current目录中的所有文件。但是,如何打开当前目录所有子目录中的所有文件?

作者:quant

最佳答案

使用zsh

vim ./**/*(.)

其他炮弹:

find . \( -name '.?*' -prune \) -o -type f -exec vim {} +

仅打开(非隐藏)常规文件(不是目录,符号链接,管道,设备,门,插槽......)。

vim ./**/*(D-.)

其他shell,GNU find

find . -xtype f -exec vim {} +

还要将隐藏文件(和遍历隐藏目录)和符号链接打开到常规文件。

vim ./***/*(D-.)

其他贝壳:

find -L . -type f -exec vim {} +

在查看子目录时也遍历符号链接。

如果您只想要一个级别的子目录:

vim ./* ./*/*

请注意,如果某些文件名以./-开头,那么使用+为您的Glob添加前缀是个好习惯。

(当然find也适用于zsh。请注意,如果文件列表是,则它们可以运行vim的多个实例。大)。


相关问答

添加新评论