VIM의 gg=G
명령을 사용하여 모든 파일을 들여 쓰고 싶습니다. 어쨌든 그것을하기위한 스크립트를 작성하고 있습니까?디렉토리의 모든 파일에 VIM 키 시퀀스 적용
나는 .. 나는 vim -c
도움이 될 수 확신하지만, 해당 gg=G
무엇인지 확실하지 오전 뭔가
find . | xargs -n 1 | vim [ with some option to indent ]
처럼 될 수 상상
VIM의 gg=G
명령을 사용하여 모든 파일을 들여 쓰고 싶습니다. 어쨌든 그것을하기위한 스크립트를 작성하고 있습니까?디렉토리의 모든 파일에 VIM 키 시퀀스 적용
나는 .. 나는 vim -c
도움이 될 수 확신하지만, 해당 gg=G
무엇인지 확실하지 오전 뭔가
find . | xargs -n 1 | vim [ with some option to indent ]
처럼 될 수 상상
정력은 좀 걸릴 수 두 가지 옵션이 있습니다 could vim -s script file
나는이 메커니즘을 vimgolf가 사용한다고 생각한다.
당신은 모든 버퍼에 명령을 적용 할 bufdo
을 사용할 수 있습니다 , normal gg=G
을 사용하여 정상 모드 명령 gg=G
을 실행하십시오. 그리고 모두를 저장하려면 wqall
. (남자 정력에서)
-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command
":source! {scriptin}". If the end of the file is reached before the editor exits, further characters are read from the keyboard.
과 의미
-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be
used with "vim -s" or ":source!". If the {scriptout} file exists, characters are appended.
을 당신에게 다음 예를 gg=GZZ
에 대한 vim -w script
하여 키 시퀀스를 기록 할 수 있습니다 :
vim에서 다음을 모두 수행 할 수 있습니다.
:args `find .`
:argdo normal gg=G
:argdo w
이것은 argslist
을 구축하고 argslist의 각 파일에 일반 명령 gg=G
을 실행합니다. 그런 다음 각 파일을 argslist에 저장합니다. 참고 :이 경우 set hidden
이 필요합니다. 더 도움말을 참조하십시오
: Vimcast에서
드류 닐에 걸쳐이 주제에 대한 몇 가지 좋은 스크린 캐스트를 가지고
:h argslist
:h 'hidden'
vim 대신 들여 쓰기를 수행하는 데'sed '를 사용하는 것이 훨씬 쉬워 보일 것입니다. –
@JimGarrison'gg = G'는 한 단계 들여 쓰기 만하는 것이 아닙니다. 파일을 다시 포맷합니다. sed는 좋은 도구이지만 구문에 대해서는 전혀 모른다. 당신은 java/c/C++/... src 파일을 엉망으로 만들려고 할 수있다.'gg = G'를 실행하면 sed가 정말 힘들다는 것을 알게 될 것이다. – Kent
': normal'을 사용하거나 Vimscript를 소싱하여이 작업을 수행 할 수 있습니다. 자세한 내용은 [here] (http://stackoverflow.com/a/15677418/813602)를 참조하십시오. –