制作M-(“#”键入时Emacs中的默认行为

时间:2009-04-05 05:51:01

标签: emacs

如何制作M-(键入开头的默认行为“(”字符?我希望Emacs自动插入结束“)”在我键入光标后的光标“(”字符,无论它是否属于一个M键组合。另外,我想将这种行为扩展到引号,子引号,括号和括号。键入M-(很痛苦,并且似乎没有其他字符的任何可比形式。

3 个答案:

答案 0 :(得分:6)

我自己并没有写很多elisp,但这是我贬低某人的事情。代码进入你的.emacs。

(setq skeleton-pair t)
(setq skeleton-pair-on-word t) ; apply skeleton trick even in front of a word.                                               
(global-set-key "[" 'skeleton-pair-insert-maybe)
(global-set-key "{" 'skeleton-pair-insert-maybe)
(global-set-key "(" 'skeleton-pair-insert-maybe)
(global-set-key "\"" 'skeleton-pair-insert-maybe)

答案 1 :(得分:5)

查看paredit.el可以保持parens / braces / quotes平衡,并提供许多其他功能来帮助进行s-exp操作。如果您要编写Lisp代码(顾名思义),您可能最终会想要使用这个库。

答案 2 :(得分:3)

“(”绑定到self-insert-command而M - '('是insert-parenthesis。您只需使用global-set-keydefine-key绑定“(”到insert-parenthesis