Emacs 中自动添加有半边括号的功能

输入左边的括号,就会自动补全右边的部分.包括(), "", [] , {} , 等等。

在 .emacs 中写

;;             C  mode
(add-hook 'c-mode-hook 'hs-minor-mode)
(defun my-c-mode-auto-pair ()
  (interactive)
  (make-local-variable 'skeleton-pair-alist)
  (setq skeleton-pair-alist  '(
    (?` ?` _ "''")
    (?\( ?  _ " )")
    (?\[ ?  _ " ]")
    (?{ \n > _ \n ?} >)))
  (setq skeleton-pair t)
  (local-set-key (kbd "(") 'skeleton-pair-insert-maybe)
  (local-set-key (kbd "{") 'skeleton-pair-insert-maybe)
  (local-set-key (kbd "`") 'skeleton-pair-insert-maybe)
  (local-set-key (kbd "[") 'skeleton-pair-insert-maybe))
(add-hook 'c-mode-hook 'my-c-mode-auto-pair)

我折腾了半天,终于搞懂了一些,贴出来和大家分享功能,在写 C 程序的时候写 if( 的时候,就自动变成了 if() 光标停在两个括号 之间写 { 的时候,自动变成了

{

}