· 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]박인구




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.0099 sec