GNU Emacs 를 배 워 주세요. - 13.


4.3.2 코드 의 들 여 쓰기 스타일 을 맞 춤 형 으로 설정 합 니 다.
C 언어 (또는 다른 프로 그래 밍 언어) 의 프로 그래 밍 스타일 (coding style) 은 매우 개성 화 된 것 이다.C 프로그래머 는 각종 책 이나 다른 사람 이 쓴 각종 코드 단편 을 통 해 이런 언어 를 배 웠 지만 조만간 자신의 스타일 을 형성 할 것 이다. 이런 개성 화 된 스타일 은 그들 이 공부 할 때 접 하 는 것 과 똑 같 지 않다.
C 모델 의 들 여 쓰기 행 위 는 바로 이런 언어 학습 수단 의 표현 이 고 들 여 쓰기 행 위 를 맞 춤 형 으로 만 드 는 기능 도 많이 제공한다.가장 간단 한 단계 에서 기 존의 들 여 쓰기 스타일 을 선택 하여 사용 할 수 있 습 니 다.그리고 마음 에 들 지 않 으 면 고 른 스타일 을 맞 출 수 있다.심지어 작은 것 부터 자신의 스타일 을 만 들 수 있 습 니 다. 그 다음 방법 은 Emacs LISP 프로 그래 밍 지식 을 깊이 파악 하고 용감 한 정신 이 필요 합 니 다.
'M - x c - set - style' 명령 의 역할 은 기 존의 들 여 쓰기 스타일 에서 하 나 를 골 라 사용 하 는 것 이다.이 명령 은 사용자 가 원 하 는 들 여 쓰기 스타일 의 이름 을 입력 하 는 것 을 알려 줍 니 다. 이때 가장 쉬 운 방법 은 TAB 키 - Emacs 의 자동 보충 명령 을 누 르 는 것 입 니 다. "* Completions *" 편집 버퍼 를 엽 니 다. 그 안에 모든 옵션 이 표 시 됩 니 다.어떤 들 여 쓰기 스타일 을 선택 하려 면 이름 을 입력 하고 Enter 키 를 누 르 면 됩 니 다.
Emacs 는 미리 들 여 쓰기 스타일 을 준 비 했 습 니 다. 기본 적 인 상황 에서 불 러 오 는 들 여 쓰기 스타일 은 표 4 - 3 참조 입 니 다.
 
Table 4-4. Built-in cc-mode indentation styles
Style
Description
bsd
Style used in code for BSD-derived versions of Unix.
cc-mode
The default coding style, from which all others are derived .
ellemtel
Style used in C++ documentation from Ellemtel Telecommunication Systems Laboratories in Sweden .
gnu
Style used in C code for Emacs itself and other GNU-related programs .
java
Style used in Java code (the default for Java mode).
k&r
Style of the classic text on C, Kernighan and Ritchie's The C Programming Language .
linux
Style used in C code that is part of the Linux kernel.
python
Style used in python extensions.
stroustrup
C++ coding style of the standard reference work, Bjarne Stroustrup's The C++ Programming Language .
user
Customizations you make to .emacs or via Custom (see Chapter 10). All other styles inherit these customizations if you set them.
whitesmith
Style used in Whitesmith Ltd.'s documentation for their C and C++ compilers .
 
여러분 이 이러한 프로 그래 밍 스타일 에 대해 좀 알 게 하기 위해 서 우 리 는 다음 과 같은 시범 을 보 여 드 리 겠 습 니 다.
 

int times (x, y)

int x, y;

{

int i;

int result = 0;



for (i = 0; i < x; i++) 

{

result += y;

}

}

이 코드 를 텍스트 블록 으로 선택 하고 "C - M - \" 조합 키 (명령 명 은 indent - region) 를 누 르 면 Emacs 는 기본 들 여 쓰기 스타일 에 따라 이 코드 를 다음 과 같이 다시 배열 합 니 다.
int times (x, y)

    int x, y;

{

    int i;

    int result = 0;



    for (i = 0; i < x; i++) 

        {

            result += y;

        }

}


 
    "C - c" 명령 으로 "K & R" 스타일 을 선택 하고 단락 을 정렬 합 니 다. 코드 는 아래 와 같이 정렬 합 니 다.
int times (x, y)

int x, y;

{

     int i;

     int result = 0;



     for (i = 0; i < x; i++)

     {

          result += y;

     }

}


 
GNU 칸 의 들 여 쓰기 스타일 로 전환 하려 면 'GNU' 스타일 을 선택 한 후 코드 블록 을 다시 배열 하 십시오.결 과 는:
int times (x, y)

     int x, y;

{

  int i;

  int result = 0;



  for (i = 0; i < x; i++)

    {

      result += y;

    }

}


 
    프로 그래 밍 스타일 을 선택 한 후 다음 문 구 를 "emacs" 파일 에 추가 하면 영구적 으로 설정 할 수 있 습 니 다.
(add-hook 'c-mode-hook
 
       '(lambda ( )
 
         (c-set-style "stylename")))

 
두 번 째 줄 의 "(lambda" 앞 에 작은 따옴표 만 붙 이 는 것 을 잊 지 마 세 요.
 
모든 프로 그래 밍 스타일 은 자신 만 의 특징 을 가지 고 있 습 니 다. Emacs 가 이러한 특징 을 모두 실현 하 게 하 는 것 은 쉬 운 일이 아 닙 니 다. Emacs 의 초기 버 전 은 들 여 쓰기 단 계 를 제어 하 는 변 수 를 몇 개 정 의 했 지만 수량 이 많 지 않 습 니 다. 그들 은 사용 하기 쉽 지 않 을 뿐만 아니 라 솔직히 디 테 일 한 부분 에서 서로 다른 프로 그래 밍 스타일 을 100% 구분 하기 도 어렵 습 니 다.。
다시 말 하면 현재 의 C 모드 는 그룹 화 된 변 수 를 그들의 값 과 유형 별로 분류 하여 스타일 에 귀납 하여 각종 프로 그래 밍 스타일 을 실현 하 는 것 이다. Emacs 는 매우 방대 한 변 수 를 사용 했다. (그의 이름 은 c - style - alist)전체 들 여 쓰기 스타일 과 관련 된 정 보 를 수용 합 니 다. 기 존 들 여 쓰기 스타일 의 변수 값 을 수정 하거나 들 여 쓰기 스타일 을 스스로 추가 하 는 두 가지 방법 으로 이 녀석 을 맞 춤 형 으로 만 들 수 있 습 니 다. 자세 한 내용 은 시스템 의 Emacs LISP 디 렉 터 리 에 있 는 cc - mode. el 파일 을 찾 아 보 세 요.
 

좋은 웹페이지 즐겨찾기