gpt4 book ai didi

emacs - 如何转义双引号?

转载 作者:行者123 更新时间:2023-12-03 23:35:04 25 4
gpt4 key购买 nike

在组织模式下,如果我想逐字格式化文本,即 ~...~ , 如果它在引号内: ~"..."~ ,它没有被格式化(保持原样)。

另外,引号是保留符号吗,如果是,它们是什么意思? (它们似乎不会影响生成的 HTML/Emacs 显示)。

最佳答案

这种情况下的罪魁祸首是 org-emph-re 中的正则表达式org-verbatim-re ,负责确定是否要逐字设置文档中的字符序列。

org-verbatim-re is a variable defined in `org.el'. Its value is "\([ ('\"{]\|^\)\(\([=~]\)\([^
\n,\"']\|[^
\n,\"'].?\(?:\n.?\)\{0,1\}[^
\n,\"']\)\3\)\([- .,:!?;'\")}\]\|$\)"



逐字字符中明确禁止引号和双引号 =~经过
[^ 
\n,\"']\|[^
\n,\"']

我发现可以追溯到 3 年前的讨论得出的结论是你必须修改这个正则表达式并设置变量 org-emph-re/ org-verbatim-re在你的 emacs 设置中符合你的愿望(也许文件局部变量也可以)。您可以通过从排除字符类和外部匹配中排除双引号来进行实验,如

"\([ ('{]\|^\)\(\([*/_=~+]\)\([^
\n,']\|[^
\n,'].?\(?:\n.?\)\{0,1\}[^
\n,']\)\3\)\([- .,:!?;')}\]\|$\)"



但是看看那个正则表达式,天知道会发生什么复杂的文档——你必须尝试......

编辑:碰巧,如果我将以下内容评估为区域,则在 = 内引用已正确导出,但没有其他内容:-),当我有更多时间时,我会进一步调查。

(setq org-emph-re "\([ ('{]\|^\)\(\([*/_=~+]\)\([^ \n,']\|[^ \n,'].?\(?:\n.?\)\{0,1\}[^ \n,']\)\3\)\([- .,:!?;')}]\|$\)")



编辑 2::通过更改 org.el 使其工作直接地:

更改以下行 (defvar org-emphasis-regexp-components来自 '(" \t('\"{" "- \t.,:!?;'\")}\\" " \t\r\n,\"'" "." 1)'(" \t('{" "- \t.,:!?;')}\\" " \t\r\n,'" "." 1)并重新编译 org 然后重新启动 emacs。

这是一个 defcustom在 8.0 版本之前,它不再是了,所以你必须忍受这个手动修改。

问候,
汤姆

关于emacs - 如何转义双引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16443386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com