2009-12-17 6 views
12

나는 ~ 30,000 줄의 심하게 들여 쓰기 된 OCaml 코드 (mly와 mll 파일 포함)를 들여 쓰고 싶습니다. 나는 'ocaml 들여 쓰기'의 변형에 대한 검색을 시도했는데 Omlet.vim을 사용하고 한 번에 한 줄 씩 코드를 들여 쓰기 (삽입 모드에서 C-f 사용) 할 수 있습니다. 모든 30000 라인의 들여 쓰기를 수행 할 수있는 방법이 있습니까?기존의 OCaml 코드를 들여 쓰는 법

답변

8

내가 설치 한이 패키지 내 편집기로 이맥스를 사용

http://caml.inria.fr/pub/docs/u3-ocaml/emacs/index.html

당신이 키 조합을 파일 당 C-M-\

할 수 있습니다 스크립트이 그것을 강조 표시 한 다음 사용해야하는 기존 코드를 들여 꽤 쉽게 그리고 들여 쓰기가 꽤 좋은 것으로 느껴집니다.

+0

감사합니다. – vbigiani

+1

'M-q'로 tuareg-mode에서 똑같은 일을 할 수 있습니다. 그것은 수천 줄로 어떻게 확장하는지 모르겠다. –

+0

@Chris, 네 말이 맞아. 내가 OCaml을 배우기 시작했을 때 나는 tuareg를 사용했고 그것은 inria 사이트에서 호스팅되는 패키지보다 더 대중적이라고 생각합니다. 나는 방금 내가 게시 한 패키지를 선호하는 일이. 그러나 내가 가장 세련된 OCaml 프로그래머가 아니기 때문에 한알의 소금으로 그걸 가져 가라.) – chollida

3

내가 정력에 전체 파일을 들여 쓰기를 다시 할 때, 나는 다음과 같은 키 시퀀스를 사용

그램gVG=

이 아래로 속보를 gg 커서가 파일의 시작 부분으로 이동합니다. V이 비주얼 모드로 전환됩니다. G은 파일의 끝에 선택합니다. = 선택한 줄을 들여 씁니다.

들여 쓰기를 한 줄씩 적용하는 방법보다 훨씬 빠르지 만 동일한 규칙을 사용합니다 (경고 : Omlet을 사용하면 전체 파일을 들여 쓰는데 다소 시간이 걸릴 수 있습니다).

1

이제, 하나는 OCP-들여 쓰기를 사용할 수 있습니다 (opam는 OCP-들여 쓰기를 설치)이처럼 호출 :

ocp-indent bad-indented-ocaml.ml > well-indented-file.ml 
0

사용 ocp-indent 도구를이를 위해. 다음은 Makefile 규칙의 예입니다. ml 개의 파일을 자동으로 들여 씁니다.

.PHONY: auto-ocp-indent 
auto-ocp-indent: *.ml 
    for mlfile in $^; do ocp-indent -i $$mlfile; done 
관련 문제