如何在markdown-mode中将"`"添加为自动成对分隔符?

5
我已经尝试将这段代码添加到“markdown-mode-hook”中。
(push '(?` . ?`) (getf autopair-extra-pairs :everywhere))

注意这个选项不适用于单个字符,例如你想要其作为引号的字符。有关更多详细信息,请参阅文档/源代码注释。

上述内容表明这并不起作用(事实也如此)。但是我浏览了一下代码却没有找到其他可行的方案。

我还尝试过修改语法表:

(modify-syntax-entry ?` "$" markdown-mode-syntax-table)

这也没有帮助。

1个回答

5

我也无法解决这个问题。然而,如果你正在运行Emacs 24,你可以使用electric-pair-mode。像这样修改语法表对我有用:

(add-hook 'markdown-mode-hook
          #'(lambda ()
              (modify-syntax-entry ?` "\"")))

编辑:正如Joao Tavora所指出的那样,这似乎在autopair中有效,因此可能只需要这个就可以了:

我能够通过修改语法表来使其工作,但是使用“字符串引号”(")而不是“成对分隔符”("$"):

(modify-syntax-entry ?` "\"" markdown-mode-syntax-table)

我已经查看了electric-pair-mode。它对我的需求不够灵活。 - event_jr
1
这个解决方案在自动成对功能下似乎完美地运作了起来!@Luke,你能解释一下哪里出了问题吗? - joao
@JoaoTavora - 你说得对,它似乎在自动配对中起作用。我的意思是,我试图让自动配对起作用,但放弃了,开始看电动配对模式。 - Luke Girvin
1
我认为Luke的意思是将解决方案应用于autopair,这就是我所做的,而且它起作用了。我只是保留了问题,以防有更加规范的方法。 - event_jr
这是规范的方式。你可以使用成对的分隔符,但你必须编写自己的处理程序。搜索代码中的 paired-delimiter 以获取提示。目前,只有 LaTeX 使用了成对分隔符类。 - joao
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接