Vim
如何使用vim打開目前目錄和所有子目錄中的所有文件?
到目前為止,我一直在使用
vim */**
which 似乎打開子目錄中的所有文件,而不是目前目錄中的文件,並且vim *
打開目錄中的所有文件current
。但是如何打開目前目錄和所有子目錄中的所有文件呢?
與
zsh
:vim ./**/*(.)
其他貝殼:
find . -name '.?*' -prune -o -type f -exec vim {} +
在任何級別的子目錄中只打開(非隱藏的)正常文件(不是目錄、符號連結、管道、設備、門、套接字……)。
vim ./**/*(D-.)
其他外殼,GNU
find
:find . -xtype f -exec vim {} +
還可以打開隱藏文件(並遍歷隱藏目錄)和指向正常文件的符號連結。
和:
vim ./***/*(D-.)
其他貝殼:
find -L . -type f -exec vim {} +
在查看子目錄時還可以遍歷符號連結。
如果您只想要一級子目錄:
vim ./* ./*/*
請注意,
./
如果某些文件名以-
或開頭,請在您的 glob 前加上前綴是一個好習慣+
。(當然這些
find
也適用於zsh
. 請注意,vim
如果文件列表很大,並且至少在 GNU 中,它們可能會執行多個實例find
,將無法跳過名稱包含不形成的字節序列的隱藏文件/目錄您的語言環境中的有效字元)。