2010-01-07 3 views

답변

101

당신이 찾고있는 명령은 인수입니다/some/path에있는 모든 파일 열기

필자는 파일을 재귀 적으로 열지 않을 것이라고 생각합니다.

편집

어쩌면 내가 특정 확장자로 끝나는 모든 파일을 열려면이 작동하지 않는 이유는 DAF는

+31

파일을 재귀 적으로 일치 시키려면'**'를 사용하십시오. 예 : ': args/path_to_dir/**' – daf

+0

완벽합니다. 그레시아. – Ethan

+1

확장자없이 파일을 열려면 상위 디렉토리를 지정하십시오. 예 : args **/.hg/hgrc는 작동하지만 **/hgrc는 작동하지 않습니다. – 79E09796

9

당신이

:n /some/path/* 

그것은 것 시도해 봤어

:args /path_to_dir/* 

디렉토리에있는 모든 파일을 엽니 다 : 예를 들어

:

+0

네, 이것도 가능합니다. – daf

+0

: n은 무엇을 의미합니까? 빔의 도움을 보면 "마지막 패턴을 되풀이합니다."라고되어 있습니다. 이해할 수있는 것은 키 스트로크입니다. 명령 모드에 대해서만 도움을 얻을 수있는 방법이 있습니까? – U0001

+1

너무 쉽게 : h : n .. ": n"에 대한 도움을 받으십시오. 내 질문에 대답하는 것을 좋아하지 않는다.) – U0001

21

을 했나요로 ** 재귀 적으로 열립니다 사용하고 계십니까? 시도 했음

:n ./**.cs 

현재 디렉토리에있는 파일 만 열립니다.

은 내가 answer.The 올바른 코드가 파일을 열 수있는 또 다른 방법 자세한 내용은 :h find

1

를 들어 :n **/*.cs

입니다 발견 반복적으로

find . -type f -exec vi {} \; 
+4

"Vim 내에서"제한을 충족시키지 못한다. – ZyX

+0

아직 필요한 것은 무엇입니까 :) –

+3

그렇지 않습니다. 필요한 것은 vim 내에서 주어진 디렉토리의 파일을 재귀 적으로 * 사용하는 것입니다. 조건을 버리면'kate **/* (^ /)'(zsh globbing 구문 사용)가 필요한 작업을 수행한다고 말할 수 있습니다. 주어진 디렉토리에서 파일을 재귀 적으로 엽니 다. 그것은 "내부에서"가 아니며 전혀 정력을 사용하지 않지만 "필요한 것은하고 있습니다". 또는'kate ~/.vimrc ~/.bashrc'. "withing", "from from the given directory"및 "recursively"를 생략하지만 "필요한 것이 무엇인지": 파일을 엽니 다. – ZyX

1

는 인수 목록에 추가하려면 ;

:arga what_you-d_like_to_add 

자세한 내용은 정력에 /에서

:he arga 

를 참조하십시오.

4

args을 사용하지 않는 방법은 파일 목록을 텍스트 파일에 넣은 다음 :so 명령을 사용하여 해당 파일에서 명령을 실행하는 것입니다.

예를 들어 특정 디렉토리에서 .php으로 끝나는 모든 파일을 열려면 먼저 파일 목록을 포함하는 파일 목록이 포함 된 파일 목록을 포함하는 파일 목록을 열고 해당 파일을 여는 데 사용할 명령을 앞에 추가하십시오.

sp alpha.php 
sp bravo.php 
sp charlie.php 

그런 정력 내 :

:so files.txt 

파일 목록이 큰 경우,이 파일에 ls의 출력을 리디렉션 한 다음 사용하여 신속하게 files.txt 파일을 생성하기 위해 상대적으로 사소한 각 파일 이름 앞에 sp 앞에 붙이는 빔 매크로.

이것은 분명히 argsargdo 명령을 사용하는 것만 큼 우아하지는 않지만 명령이 훨씬 복잡합니다.

명령 줄에서 단일 명령으로이 작업을 수행하는 방법이있을 수도 있지만 16 년 후에도 여전히 vim 프로그래밍이 이상하고 비밀스러운 것으로 느껴집니다.

+0

흥미 롭습니다! 이 파일들이 모두 필요하지 않은 경우 지정된 디렉토리의 모든 파일을 맹목적으로 여는 대신 어떤 파일을 열어야 하는지를 제어 할 수있는 좋은 방법입니다. – cram2208

관련 문제