지금까지 제가 사용해본 방법은 vim */**
하위 디렉터리의 모든 파일을 여는 것 같지만,아니요현재 디렉터리의 파일을 선택하고 해당 디렉터리의 모든 파일을 vim *
엽니다 . current
그러나 현재 디렉토리의 모든 파일을 여는 방법그리고모든 하위 디렉터리?
답변1
그리고 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
도 찾을 수 있습니다. 파일 목록이 크고 적어도 GNU의 경우 zsh
여러 인스턴스를 실행할 수 있는 경우 이름에 다음과 같은 바이트 시퀀스가 포함된 숨겨진 파일/디렉터리를 건너뛸 수 없습니다. 귀하가 속한 지역을 구성하지 마십시오. )의 유효한 문자입니다.vim
find
답변2
배쉬에서 shopt -s extglob
:
for file in **/**; do [[ -f "$file" ]] && vim "$file"; done
에 따르면 참고하시기 바랍니다.스티븐의 코멘트, Bash 4.3 이전에는 해당 디렉토리의 모든 심볼릭 링크를 따랐습니다.