У меня есть каталог ~/temp с файлами журнала. Этот каталог содержит другой каталог ~/temp/aaa, который также содержит несколько журналов. Я хотел бы сразу открыть все файлы журналов. Я делаю
vim -p *
Он открывает файлы в текущем каталоге, и это нормально, но также открывает каталог aaa со списком файлов в содержимом, и я хотел бы опустить его. Также в каталоге aaa файлы не открываются. Я мог бы добавить /aaa/* в команду, но его не очень хорошо, поскольку имя каталога может измениться, и я хотел бы иметь более универсальную команду.
Как перечислить все файлы в каталоге и подкаталоге для vim ?
Вы можете использовать следующую команду, которая откроет vim с вкладкой для каждого файла в текущем каталоге:
vim -p `find -L . -type f -print`
Или следующую команду, которая откроет все файлы в текущем каталоге и все файлы во всех поддиректориях первого уровня текущего каталога
vim -p ./* ./*/*
Вышеуказанная команда основана на запуске vim -p вместе с примером из аналогичного ответа, который можно найти здесь
Несколько (модифицированных) примеров из здесь откроют vim для каждого файла в текущем каталоге, и как только vim будет закрыт, откроется vim снова для следующего файла и т. д .:
find . -xtype f -exec vim {} \;
Или
find -L . -type f -exec vim {} \;
Вы можете использовать следующую команду, которая откроет vim с вкладкой для каждого файла в текущем каталоге:
vim -p `find -L . -type f -print`
Или следующую команду, которая откроет все файлы в текущем каталоге и все файлы во всех поддиректориях первого уровня текущего каталога
vim -p ./* ./*/*
Вышеуказанная команда основана на запуске vim -p вместе с примером из аналогичного ответа, который можно найти здесь
Несколько (модифицированных) примеров из здесь откроют vim для каждого файла в текущем каталоге, и как только vim будет закрыт, откроется vim снова для следующего файла и т. д .:
find . -xtype f -exec vim {} \;
Или
find -L . -type f -exec vim {} \;