· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Emacs Auto Completion Quick Note

�̸ƽ�(Emacs) �ڵ��ϼ� �ʰ��� ����

����� �ϰ����� ����
"���ڸ�����(intellisense)"�� ����Ʈ�� �����ִ� �ڵ��ϼ��� �ǹ��ϰ�
"�ɺ��ϼ�(symbol completion)"�� ����Ʈ�� �� �����ִ� �ڵ��ϼ��� �ǹ��ϴ� ������ �ϰڽ��ϴ�.

�׸��� Emacs���� �ڵ��ϼ��̶�� ���þ����� auto completion, smart completion, intellisense ���
������ �ʹ� ���� ������ cedet ��Ű���� �ִ� semantic�� �߽����� �����մϴ�.

Emacs���� �ڵ��ϼ��� ������ �ణ ��ٷӰ� �� ó�� �ڵ��ϼ��� �� ���� ij�� ������ �����ؾ� �Ǽ�
�ణ �����⵵ ������ �پ��� ������ �ڵ��ϼ� ����� �ְ� ����� ���⿡ �°� ���� �� �� �־ ���� �����մϴ�.
�Ϸʷ� VS���� MFC�� ���α׷����� ��� ���� �ϴ� ���� ����Լ� ���� ���� ���� ��� �� �� �ֱ� ������
�� ���� ���ż� ���� �ų��� �ڵ�(?)�� �� ���� ������ ���ڸ����� ����� ��ġ���ŷ��� ������ �ڵ��ϴ� ��쵵 ������ ���Դϴ�.
�̷� ��쿡�� Emacs�� ���� ������ ��ó�� �����մϴ�.

1. �غ�

1) cedet ��Ű�� ��ġ
http://cedet.sourceforge.net/
1.0pre4 ���������� C++ namespace�� �� ��� �ڽ�Ŭ�������� �θ�Ŭ���� ����� �ڵ��ϼ��� �ȳ�Ÿ���Ƿ� cvs ���� ����ϼ���.
cvs -d:pserver:[email protected]:/cvsroot/cedet login
��ȣ ����� ����
cvs -z3 -d:pserver:[email protected]:/cvsroot/cedet co -P cedet
��ġ���/INSTALL ������ �����ؼ� ������ �� .emacs�� �߰��϶�� �� �� �߰��� �ݴϴ�.

����:
����� lenny������ emacs-snapshot�� ���� ������� cedet ��Ű���� �浹�ϹǷ� ����� cedet��Ű���� �����ϰ� cvs ���� ���� ��ġ�ϼ���.
(lenny�� stable�� �� ���ķδ� ��Ȯ�� ����)

2) .emacs�� ���� �߰�
;; ����(2009�� 4�� 12��) cvs ���������� �Ʒ��� ��� �ڵ��ϼ��� �Ǿ���
;; (require 'semantic-ia) 
;; (global-semanticdb-minor-mode 1)

;; ij�� ���� ����� �δ� ��
;; �ý��� ���̺귯���� ���� ��� ���� ����� ���� ���� ������
;; �� �� ij���Ǹ� ���� �� �ڵ��ϼ������� ������ ��� �����մϴ�.
;; ���� "~/.emacs.d/#semanticdb.cache#" �� ������ ���ϴ� ������ �� ����� �־�� �մϴ�.
(setq semanticdb-default-save-directory "~/.emacs.d/#semanticdb.cache#")

;; �ڵ��ϼ��� �� ��� ���� ��� ���� ��
;; �̰��� �־�� #include �� ��������� ���뵵 �ڵ��ϼ��� ��Ÿ���ϴ�.
(semantic-add-system-include "/usr/include/gtkmm-2.4/" 'c++-mode)

2. ���ڸ����� (Intellisense)

2.1. ����

emacs ���ڸ��������� ���� ������ �ֽ��ϴ�.
(cedet ������ ���� �Ʒ� �� �Լ��� �ڵ��ϼ��� �ϴ� ����� �ٸ� �� �ֽ��ϴ�.)

1) semantic-ia-complete-symbol-menu
semantic-ia-complete-symbol-menu.png
[PNG image (71.53 KB)]

2) semantic-ia-complete-symbol
semantic-ia-complete-symbol.png
[PNG image (81.94 KB)]

3) semantic-ia-complete-tip
semantic-ia-complete-tip.png
[PNG image (64.96 KB)]

4) senator-completion-menu-popup
senator-completion-menu-popup.png
[PNG image (70.08 KB)]

5) semantic-complete-self-insert ("." �Է��ϰ� "sho"���� �Է��� tab ���� ����)
semantic-complete-self-insert.png
[PNG image (76.03 KB)]

6) semantic-complete-analyze-inline
semantic-complete-analyze-inline.png
[PNG image (77.94 KB)]

7) semantic-analyze-possible-completions
semantic-analyze-possible-completions.png
[PNG image (80.02 KB)]

8) global-semantic-idle-completions-mode ("sh" �Է��ϰ� ��1�� ��ٸ� �� tab 2�� ���� ����)
global-semantic-idle-completions-mode.png
[PNG image (56.77 KB)]

2.2. Ű���ε� ����

;; cedet semantic ���ڸ����� Ű���ε� ����
(global-set-key [(control return)] 'semantic-ia-complete-symbol-menu)
(global-set-key [(control shift return)] 'semantic-ia-complete-tip)

(global-set-key [(control c)(control return)] 'semantic-complete-analyze-inline)

(global-set-key [(shift return)] 'semantic-analyze-possible-completions)
���� ��� semantic-ia-complete-symbol-menu ���� ��� ���ڸ������� ����� ������
C-RET �ϰ� C-n (�Ʒ�), C-p (��), C-f (������), C-b (����) �� �����̰� RET�� �����ϰ�
C-g �� ����ϸ� �˴ϴ�. �� �����ϰ� Ctrl "���" ���� ���¿��� RET �ϰ� n,p,f,b �� �����̰� g�� ����ϴ� ����� �����մϴ�.

������������ MS�����쿡���� semantic-ia-complete-symbol-menu â�� C-g �� ������� �ʴµ�
ESC Ű�� �̻��ϰԵ� ���� Alt Ű�� ������ ������ϴ�.

2.3. VS�� ����ϰ� ���ڸ������� "." "->" "::" �� ����ϱ�

VSó�� "." "->" "::" �ԷµǸ� ���ڸ������� �ǵ��� ����Ϸ��� ���������� Ű���ε��� �ؼ� ����ؾ� �մϴ�.

cedet Ȩ�������� ���� �������� �ϸ� "." �� �Ǵµ� "->" "::" �� ���ϴ� ��� �۵��� �ȵǼ� �ڵ带 �ణ �߰��ؼ� .emacs ���Ͽ� �־�� �մϴ�.
����: http://cedet.sourceforge.net/intellisense.shtml
;; ó�� ���� . -> :: ����� ����Ͻ÷��� �Ʒ� "nil" �� "t" �ٲټ���. 
(defvar semantic-complete-self-insert-p nil)
(defun semantic-complete-self-insert-toggle-switch ()
  (interactive)
  (if semantic-complete-self-insert-p
      (progn (setq semantic-complete-self-insert-p nil)
	     (message "semantic-complete-self-insert off") )
    (progn (setq semantic-complete-self-insert-p t)
	   (message "semantic-complete-self-insert on") )  )   )


(defun semantic-complete-self-insert-for-dot-operator (arg)
  (interactive "p")
  (if semantic-complete-self-insert-p
      (call-interactively 'semantic-complete-self-insert)
    (self-insert-command arg) )  )

(defun semantic-complete-self-insert-for-arrow-operator (arg)
  (interactive "p")
  (if (and semantic-complete-self-insert-p
	   (string= "-" (char-to-string (char-before (point)) )  )   )
      (call-interactively 'semantic-complete-self-insert)
    (self-insert-command arg) )  )

(defun semantic-complete-self-insert-for-scope-operator (arg)
  (interactive "p")
  (if (and semantic-complete-self-insert-p
	   (string= ":" (char-to-string (char-before (point)) )  )   )
      (call-interactively 'semantic-complete-self-insert)
    (self-insert-command arg) )  )


(defun c++-mode-additional-semantic-keys ()
  "Key bindings to add to `c++-mode'."
  (define-key c++-mode-map [(control c)(control .)] 'semantic-complete-self-insert-toggle-switch)
  (define-key c++-mode-map "." 'semantic-complete-self-insert-for-dot-operator)
  (define-key c++-mode-map ">" 'semantic-complete-self-insert-for-arrow-operator)
  (define-key c++-mode-map ":" 'semantic-complete-self-insert-for-scope-operator)
  )

(add-hook 'c++-mode-hook 'c++-mode-additional-semantic-keys)

3. �ɺ��ϼ�(symbol completion)

3.1. ����

�ɺ��ϼ����� ���ڸ�����ó�� ���������� �ֽ��ϴ�.

1) dabbrev-expand
emacs�� ����� ����Դϴ�. ���� ���� �ִ� ������ �ɺ��� ������ �ڵ��ϼ��� �մϴ�.
��, C-x C-b (list-buffers) �ؼ� ������ ����Ʈ �� �ڽ��� ���� ���۰� �ش�˴ϴ�.
(���������� �ɺ��ϼ� �� �� ���� ���մϴ�. ���� ���� �˻��� ���� �����ϱ� ������...)

2) hippie-expand
dabbrev-expand ó�� emacs�� ����� ����Դϴ�.
dabbrev-expand�� hippie-expand �� ��ȣ�ϴ� ���� ����ϼ���.
(senator-minor-mode �� off �ϰ� ����ϼ���.)

3) senator-complete-symbol
cedet ��Ű���� ����ϸ� �׳� ��� �� �� �ֽ��ϴ�.
���ڸ�����ó�� #include �� �����ؼ� �ڵ��ϼ��� �մϴ�.

4) complete-symbol
etags �� TAGS ������ ����� �־��ְ� visit-tags-table �� �ؾ� ��� �����մϴ�.

5) ebrowse-tags-complete-symbol
ebrowse �� BROWSE ������ ����� �ְ� BROWSE ������ �ٸ� ���ۿ� ���� �ξ�� ��� �����մϴ�.
ebrowse�� ����� etags�� ��������� ebrowse�� C++�� �� �� ����ȭ�Ǿ� �ֽ��ϴ�.([http]��������)

3.2. Ű���ε� ����

;;;; �ɺ��ϼ� Ű���ε� ����

;; M-/ (dabbrev-expand) - emacs�� �⺻ ���� �Ǿ� ����

;;senator-complete-symbol �⺻ Ű���ε��� C-c , TAB �̰� �Ʒ��� �߰� ������ ����
(global-set-key [(meta return)] 'senator-complete-symbol)

(global-set-key [(meta shift return)] 'complete-symbol)

;; ebrowse-tags-complete-symbol �⺻ Ű���ε��� C-c RET TAB �̰� �Ʒ��� �߰� ������ ����
(global-set-key [(control meta return)] 'ebrowse-tags-complete-symbol)
���� ��� senator-complete-symbol �� ����� ������ M-RET �� ������
��� ������ �ɺ��� �ϼ��� �ǰ� �ٽ� M-RET������ �ٸ� �ɺ��� �ϼ��ǰ�
�̷� ������ ��� ������ �ɺ��� ���ư��� �ϼ��ǰ� �˴ϴ�.

Meta(Alt)�� "���" ���� ���¿��� RET�� ������ ����� �����մϴ�.

4. ���ڸ������� �ɺ��ϼ� �׽�Ʈ

���ڸ������� ���ϴ� ��� ���� �ڵ��ϼ���ų �� ������ ������ ������ �ɺ��ϼ��� ������ ����ϸ� ������
�ɺ��ϼ��� ������ ���� �ڵ��ϼ��� ���ϴ� ��� �� �Ǵ� ��쵵 �ֽ��ϴ�.
�������� ���� ������ ���ڸ������� ����ϼŵ� �˴ϴ�.

�Ʒ��� ���� �ڵ尡 �ְ� etags�� ebrowse�� TAGS�� BROWSE ������ ������� BROWSE ������ �ٸ� ���ۿ� ���� ���Ҵ� �����մϴ�.
#include <iostream>

class Test
{
public:
    Test();
    virtual ~Test();

public:
    void TestClassPrint () = 0;
    void TestClassPrint2 () = 0;
};

void TestFunctionPrint()
{
    printf("hello emacs");
}

int main(int argc, char *argv[])
{
    int localvalue = 4;
    Test test;

    printf("print localvalue : %d", localvalue);

    _ <-- ���� Ŀ��

    return 0;
}
�׽�Ʈ 1)
�� ���¿���
"lo"���� Ÿ���� �� "localvalue"�� �ϼ� ��Ű���� �ϸ� ���ڸ������� semantic-complete-self-insert�� �����ϰ� ���� ����� �� �ְ�
�ɺ��ϼ��� dabbrev-expand(hippie-expand)�� senator-complete-symbol�� �ϼ� ��ų �� �ֽ��ϴ�.
�� ������ TAGS�� EBROWSE������ ���� ���� localvalue��� ���� ���� Ŭ������, �Լ�, ����Լ��� �±׷� ��������� �־
complete-symbol, ebrowse-tags-complete-symbol�� "localvalue"�� �ڵ��ϼ� ��ų �� �����ϴ�.

�׽�Ʈ 2)
�� ���¿��� "test.Te"���� Ÿ���� �� "test.TestClassPrint"�� �ϼ� ��Ű���� �ϸ� ���ڸ������� ���� ����� �� �ְ�
�ɺ��ϼ��� senator-complete-symbol�� ebrowse-tags-complete-symbol �� �ϼ� ��ų �� �ֽ��ϴ�.
C++ �� ����Լ��̱� ������ complete-symbol�� �ϼ� ��ų �� �����ϴ�. TAGS������ ���� ���� �� �� �ֽ��ϴ�.

����:
find-file (C-x C-f)�� BROWSE ������ ���� Ebrowse-Tree Mode �� ���� ������
������ ���� �����ø� M-x find-file-literally �� ����ϼ���.

5. ���� ���

emacs���� �ڵ��ϼ� ������ �ʹ� ���� ������ ���� �ó������ �ϳ� ���� ���ϴ�.

�켱 �������� �ڵ��ϼ��� M-/ (dabbrev-expand)�� ����մϴ�.
�̰��� ���� ������ �ɺ��� ���� �˻��ϰ� emacs�� ����Ǿ� �־� ���� ������ ������ �ֻ��� �����̶� �����˴ϴ�.

ó�� ���ϴ� ���̺귯���� �ִ� �����ϸ� ����Լ� ���� ���� �ͼ��� �ʱ� ������
semantic-complete-self-insert�� semantic-ia-complete-symbol-menu�� ������ ���� ����ϴٰ�
�� �ͼ��� ���� ����Լ����� �������µ� ���� Ÿ���� �� semantic-complete-analyze-inline �� ����ϰ�
������ �� ���� �Ű������� ������ semantic-analyze-possible-completions �� ����մϴ�.

�׸��� ���̺귯���� ������ �ɼ������� �ظ��� ����Լ��� �� ��ﳪ��
���� �ų��� �ڵ�(?)�� �ϸ� ������ �ɺ��ϼ�(senator-complete-symbol)�� ����ϸ� �˴ϴ�.

�ڽ��� ���� Ŭ���� ���� ��쵵 ����Լ��� ���� ����ϰ� �ֱ� ������ �ɺ��ϼ�(senator-complete-symbol)�� ����ϸ� �˴ϴ�.

complete-symbol, ebrowse-tags-complete-symbol �� TAGS, BROWSE ������ ���� ���ɾ ����ؼ�
������ �ϴ� �δ��� �ֱ� ������ �ҽ��ڵ� �м� �� ���� �� �� ����ϸ� �����ϴ�. (tag�� ������ ���� �Դ� ���� �� �� �����Ƿ�...)

6. Yet Another Snippet (yasnippet)

���ڸ������� �ɺ��ϼ��̸� �Ϻ�������
yasnippet ���� ����ϸ� ���� ���� ���� ���� �˴ϴ�.


"class" Ÿ���� �� tab ������ "Te"���� �Է��� ȭ��
yasnippet.png
[PNG image (41.3 KB)]

���ǻ���:
yasnippet�� �ϼ��� �ڵ�� indent�� space�� ���Եǰ� indent level�� 4�Դϴ�.
�׷��� ������ �ٸ��� ���� ������ �ٽ� ���־�� �ϴµ�
���� ������ �ذ� ����� .emacs�� �Ʒ��� �߰��ϴ� ���Դϴ�.
(add-hook 'yas/after-exit-snippet-hook
          '(lambda ()
             (indent-region yas/snippet-beg
                            yas/snippet-end)))
(��ó: http://code.google.com/p/yasnippet/wiki/Tips)

����:
c��� ���� ��� [http]msf-abbrev�� �� �� ���� �� �ֽ��ϴ�.

by ������:
msf-abbrev�� yasnippet���� �� ���� ���� ���(abbrevation or snippet) ����̰�, ���� �����ϰ� �ִ� ���� msf-abbrev�� �ƴ϶� yasnippet�Դϴ�.

7. �ǽð� �м� (real-time analysis)

�ڵ��ϼ��� ������ emacs�� ������ ����� �ϳ� �Ұ��ϰڽ��ϴ�.

1) semantic-speedbar-analysis
semantic-speedbar-analysis.png
[PNG image (89.58 KB)]

2) ECB Analyse Buffer (ECB ��ġ �ʿ�)
ecb-analyse-buffer.png
[PNG image (92.31 KB)]

����:
analyse-buffer ������ �����ٸ�
C-h v (M-x describe-variable)
ecb-analyse-buffer-sync-delay �����ϼż� ������ �ٲټ���.
������ ��� �� 0.7 �����ϴ� �����߽��ϴ�.

- ����(2009�� 7�� 4��) [http]Latest CVS-shapshot ���������� �Ʒ� ���� �ذ�Ǿ����ϴ�.

�Ʒ� �޼����� ������ ECB Analyse Buffer �� �۵� �ȵȴٸ�
eieio-default-superclass: Invalid slot name: "#<semantic-analyze-context context>", localvariables
Invalid slot name: "#<semantic-analyze-context context>", localvariables
ecb-analyse.el ���Ͽ� �Ʒ��� ������ ������.
***************
*** 270,276 ****
  
  (defmethod ecb-analyse-more-nodes ((context semantic-analyze-context))
    "Show a set of ecb-nodes specific to CONTEXT."
!   (let ((localvars (oref context localvariables)))
      (when localvars
        (ecb-analyse-add-nodes "Local Variables" "Local Variables" localvars
                               ecb-analyse-nodetype-localvars)))
--- 270,278 ----
  
  (defmethod ecb-analyse-more-nodes ((context semantic-analyze-context))
    "Show a set of ecb-nodes specific to CONTEXT."
!   (let* ((scope (oref context scope))
! 	 (localvars (when scope
! 		      (oref scope localvar))))
      (when localvars
        (ecb-analyse-add-nodes "Local Variables" "Local Variables" localvars
                               ecb-analyse-nodetype-localvars)))

8. �����ذ� �� �̽�

8.1. ���ڸ������� �� �ȵ� ��

�Ʒ� ������ ������ ���ڸ������� �� �ȵȴٸ�
semantic-analyze-possible-completions-default:
Cannot find types for `"..."'
.emacs ���Ͽ��� semantic-add-system-include �Լ��� ������� ��θ� �� �����ߴ��� Ȯ���ϰ�
C-x C-s (save-buffer)
M-x revert-buffer
�̷��� �ϼ���.

�� �� ���ϰ� ����Ϸ��� �Ʒ� ����Ʈ�� �����ؼ�
http://www.stokebloke.com/wordpress/2008/04/17/emacs-refresh-f5-key/

�Ʒ��� .emacs ���Ͽ� �߰��ϼ���.
(defun refresh-file-after-save-buffer ()
  "refresh file after save buffer"
  (interactive)
  (save-buffer)
  (revert-buffer t t t) )

(global-set-key [(control c)(control R)] 'refresh-file-after-save-buffer)

8.2. semantic�� "add-hook" �� �ΰ��ϴ�?

��1)
(add-hook 'c-mode-common-hook 'folding-mode)
folding-mode�� �ε尡 �� �Ǿ� �־ "folding-mode" �� void-function �� ��� �Ʒ� ������ ���� �� �ֽ��ϴ�.
Wrong type argument: syntax-table-p,nil

��2) choose-header-file-mode (http://han9kin.doesntexist.com/28) �Լ����� ��� �Ʒ�ó�� �����ؾ� ���� �۵��մϴ�.
(defun choose-header-file-mode ()
  (if (and buffer-file-name (string= (file-name-extension buffer-file-name) "h"))
      (let ((filebase (file-name-sans-extension buffer-file-name)))
        (cond
         ((and (file-exists-p (concat filebase ".c")) 
	       (not (string= major-mode "c-mode")))
          (c-mode) )
         ((and (file-exists-p (concat filebase ".cpp"))
	       (not (string= major-mode "c++-mode")))
          (c++-mode) )
         ((and (file-exists-p (concat filebase ".cc"))
	       (not (string= major-mode "c++-mode")))
          (c++-mode) )
         ((and (file-exists-p (concat filebase ".m"))
	       (not (string= major-mode "objc-mode")))
          (objc-mode) )
         ((and (file-exists-p (concat filebase ".mm"))
	       (not (string= major-mode "objc-mode")))
          (objc-mode) )
         ((and t
	       (not (string= major-mode "c++-mode")))
          (c++-mode) )  )   )
    ) )

(add-hook 'c-mode-common-hook 'choose-header-file-mode)
�׷��� ������ �Ʒ����� ������ ���� �� �ֽ��ϴ�.
semantic-analyze-current-context: Wrong type argument: syntax-table-p, nil
eieio-generic-call: No method definition: semantic-analyze-type-constraint, (nil)

����:
find-file-hook�� �߰��� �Լ��� �� �۵��� �ȵǸ� c-mode-common-hook, after-change-major-mode-hook���� �Ű� ���ų�
add-hook�� �ɼ� �Ű������� ������ ������.
(add-hook 'xxxxx 'xxxxx t t)

8.3. ��ũ��(#define) ������ �ڵ��ϼ��� �ȵ� ��

���� ��� �Ʒ� ���� mfc �Լ� ���� ���
_AFXWIN_INLINE CWinApp* AFXAPI AfxGetApp() {...
AfxGetApp()->�� �ڵ��ϼ��� �õ��ϸ� CWinApp*���� �ƴ϶� AFXAPI������ �ν��ؼ� �ڵ��ϼ��� �� �Ǵµ�
�Ʒ��� �߰��ؼ� ��ũ�θ� ����ȭ��Ű�� ���������� �ڵ��ϼ��� �˴ϴ�.(������ ������ ij�� ���� ���� �ʿ�)
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("_AFXWIN_INLINE" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("AFXAPI" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("AFX_CDECL" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("PASCAL" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("CALLBACK" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("__cdecl" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("__stdcal" . ""))
mfc�ܿ��� wxWidget ����� ���̺귯��ó�� ��ũ�ΰ� ���� ��� Ȱ�� �����մϴ�.
����:
CEDET wxWidgets �ڵ��ϼ�

8.4. MS �����쿡�� cedet ������ ����

MS �����쿡�� EmacsW32, msys ����� ���� Ư�� ������ cedet �������� ��
�Ʒ��� ���� ������ ���� �� �ִµ�
Symbol's value as variable is void: outbuffer
Symbol's value as variable is void: filename
Cannot open load file: srecode-fields

Cannot open load file: eieio-load
Cannot open load file: semantic-load
Cannot open load file: srecode-load
Cannot open load file: ede-load
Cannot open load file: cogre-loaddefs
Cannot open load file: contrib-loaddefs
�ϴ� ���� GNU Emacs�� ����ϰ�
http://ftp.gnu.org/pub/gnu/emacs/

cedet-build.el ������ emacs�� �о� ���� ��
M-x eval-buffer
M-x cedet-build-in-default-emacs
�̷������� emacs ���ο��� �������ϼ���.
�������ϴµ� �� �ð��� ���� �ɸ��ϴ�.
�׸��� "Done"�̶�� ������ �������� Ȯ���ϼ���.(���� ����: [http]cedet-compile-in-mswin.png)

9. �� �ٸ� �ڵ��ϼ�

cedet�� semantic�� c,c++ ���� �Ϻ��ϰ� �����ϴ� �ݸ鿡 �ٸ� ���� �̹��� ���Դϴ�.
�ٸ� �� ��뵵 ������ ������.
����:
http://www.emacswiki.org/emacs/CategoryCompletion




4) HTML �ڵ��ϼ� ��
Screenshot : [http]emacs-tag-completion.png
����:
* http://www.emacswiki.org/emacs/NxhtmlMode
* http://kldp.org/node/104700
* �� �ٸ� ����� [http]ZenCoding�� ��õ�մϴ�.

5) JavaScript �ڵ��ϼ� ��
Screenshot : [http]emacs-javascript-completion.png

6) CSS �ڵ��ϼ� ��
Screenshot : [http]emacs-css-completion.png


8) Ruby �ڵ��ϼ� ��
Screenshot : [http]auto-complete-ruby.png
����:
* http://kldp.org/node/110632

9) Java �ڵ��ϼ� ��
Screenshot : [http]jde-complete.png
����:
* http://kldp.org/node/110967

10) Bash �ڵ��ϼ� ��
Screenshot : [http]sh-mode.png

11) Debian rules �ڵ��ϼ� ��
Screenshot : [http]rules(makefile-mode).png


(!) primewizard 20081026

ID
Password
Join
You attempt things that you do not even plan because of your extreme stupidity.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-11-25 09:37:32
Processing time 0.0215 sec