· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Emacs Dynamic Abbrev Expand

단어 및 주석 자동 입력

Emacs는 어떤 버퍼의 내용을 편집할 때, 이 버퍼에 쓰인 모든 단어의 내용을, 그 단어의 첫 일부분만 입력해도 자동으로 입력해주는 기능이 있습니다. 실제로 코딩할 때 매우 유용한 기능 중의 하나입니다. M-x dabbrev-expand로 실행할 수 있으며, 대부분의 경우 M-/로 실행할 수 있습니다. (M-/가 뭔지 모르겠으면 EmacsGdbEtagsCscope 참고)

무슨 말인지 잘 이해가 안된다면 다음을 따라해보기 바랍니다. (주의! 아래 예제에서 [1]는 현재 커서의 위치를 나타냅니다. 따라서 실제로 입력하는 것이 아닙니다.)

  • hello.h를 편집합니다:
$ emacs hello.h

  • 다음과 같이 입력합니다. 마지막 "_"를 입력한 다음, 아무 것도 입력하지 말고 대기하기 바랍니다:
#ifndef __hello_h
#define _[*]

  • 이 때, 우리는 다시 "_hello_h"를 입력해서 "hello_h"를 입력하려고 합니다. 이 상태에서 M-/를 입력하면, 이 버퍼에서 "_"로 시작하는 글자가 "hello_h" 뿐이므로, 나머지 "_hello_h" 부분을 자동으로 입력해 줍니다:

#ifndef __hello_h
#define __hello_h[*]

  • 그리고 다음과 같이 입력합니다 (커서 위치 확인!):

#ifndef __hello_h
#define __hello_h

/* ... */

#endif[*]

  • 이 글과는 상관없지만, Emacs는 자동으로 주석(comment)을 쓸 수 있도록 만들어 줍니다. 여기에서 M-;를 누르기 바랍니다. 그러면 다음과 같이 버퍼가 변합니다 (커서 위치를 보기 바랍니다.):

#ifndef __hello_h
#define __hello_h

/* ... */

#endif  /* [*] */

  • 이제 여기에서 "_"를 입력합니다.

#ifndef __hello_h
#define __hello_h

/* ... */

#endif  /* _[*] */

  • 이 상태에서 다시 M-/를 누릅니다. 그러면 자동으로 나머지 부분인 "_hello_h"가 입력됩니다:

#ifndef __hello_h
#define __hello_h

/* ... */

#endif  /* __hello_h[*] */

자. 정말 대단하지 않습니까? 실제로 이 기능에 익숙해지면, 그 어떤 편집기를 쓰는 것보다도 빠르게 text를 입력할 수 있습니다.

끝 -- [http]신성국


  • 주석 모양은 mode에 따라 다르므로 M-x c-mode를 하셔야 /* */ 형태로 나옵니다. --[http]박인구


ID
Password
Join
Mistakes are oft the stepping stones to failure.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-06-15 15:46:13
Processing time 0.0019 sec