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