【问题标题】:Making M-( the default behavior in Emacs when "(" is typed当键入“(”时,使 M-( 成为 Emacs 中的默认行为
【发布时间】:2009-04-05 05:51:01
【问题描述】:

如何使 M-( 成为键入开头“(”字符的默认行为?我希望 Emacs 在我键入“(”字符时自动在光标后插入结尾“)”,无论它是否属于M 键组合。另外,我想将此行为扩展到引号、子引号、方括号和大括号。键入 M-( 很痛苦,而且对于这些其他字符似乎没有任何可比的形式。

【问题讨论】:

    标签: emacs


    【解决方案1】:

    我自己不会写太多省略号,但这是我抄袭别人的东西。代码进入您的 .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)
    

    【讨论】:

    • 谢谢 - 我不知道骨架对字。
    【解决方案2】:

    查看paredit.el,它可以根据需要保持括号/大括号/引号平衡,并且还提供许多其他功能来协助 s-exp 操作。如果您要编写 Lisp 代码(正如您的名字所暗示的那样),您最终可能会想要使用这个库。

    【讨论】:

      【解决方案3】:

      "(" 绑定到 self-insert-command 而 M-'(' 是 insert-parenthesis。您可以简单地使用 global-set-keydefine-key 将 "(" 绑定到 insert-parenthesis 来反转它。

      【讨论】:

        猜你喜欢
        • 2011-07-17
        • 2020-05-12
        • 1970-01-01
        • 2011-04-21
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 2011-08-04
        • 1970-01-01
        相关资源
        最近更新 更多