如何阻止 PowerPoint 或 macOS 将双破折号转换为长破折号?

如何阻止 PowerPoint 或 macOS 将双破折号转换为长破折号?

有没有办法阻止 PowerPoint 或 macOS 将双破折号(“--”)转换为长破折号(“—”)?上下文:我在运行 macOS Sonoma 14.0 的 MacBook Pro 上的 PowerPoint for Mac v16.78 幻灯片中使用文本框。有时我需要在 PowerPoint 文本框中编写带有标志(每个标志都以“--”开头)的示例 shell 代码,而此功能会破坏标志。

几年前有人问过类似的问题此主题,但 macOS 已经发生了变化,并且本帖子中讨论的补救措施似乎在这种情况下不起作用。

我至今尝试过但没有成功的补救措施:

  • 在 PowerPoint 中,禁用所有自动更正功能
  • 在 PowerPoint 中,输入“--”代替“--”
  • 在 PowerPoint 中,输入“--”代替“—”
  • 在 macOS 系统设置 > 键盘 > 文本替换下,将“--”替换为“--”;尝试用“--”替换“—”;也尝试过不替换
  • 在 macOS 系统设置 > 键盘 > 所有输入源(当前为“美国”英语)下,禁用“自动更正拼写”和“使用智能引号和破折号”
  • 在 PowerPoint 和 macOS 中,尝试指定“--”作为替代文本的替换(例如“++”),但没有发生替换

到目前为止,我发现的主要解决方法是使用 command+Z 在每次文本替换发生后立即撤消。此外,您可以在文本编辑器中起草文本,然后一次性将其粘贴到幻灯片中,但一定有更好的方法。

更新 1:我了解到defaults --help在终端中运行提供了一些有关读取和写入(重置)当前默认设置的信息。ChatGPT-4 贡献了以下代码来识别哪些域包含与破折号替换相关的设置:

# Loop through each domain
for domain in $(defaults domains | tr ',' '\n'); do
    # Check if the domain contains settings related to dash substitution
    result=$(defaults read "$domain" 2>/dev/null | grep -i 'dashsubstitution')
    
    if [ ! -z "$result" ]; then
        echo "Domain: $domain"
        echo "$result"
        echo "-------------------------"
    fi
done

就我而言,这返回了四个设置:

Domain: com.ampl.ide.rcp.product
    NSAutomaticDashSubstitutionEnabled = 0;
-------------------------
Domain: com.apple.iBooksX
    TSWPAutomaticDashSubstitution = 1;
-------------------------
Domain: com.apple.iChat.inputLine
        automaticDashSubstitutionEnabled = 0;
-------------------------
Domain: org.tempel.findanyfile
            NSAutomaticDashSubstitutionEnabled = 0;
-------------------------

更改这些的一般格式如下:

defaults write [Domain] [Key] [Value]

因此,您可以像这样更改设置(根据需要将布尔值设置为 true(“1”)或 false(“0”)。当然,在更改任何内容之前,您应该注意初始设置。

defaults write com.apple.iBooksX TSWPAutomaticDashSubstitution -bool false

运行上述代码按预期更改了目标设置,但并未解决未命令的破折号替换的根本问题。以下命令可单独使用某些关键字搜索相关域中的设置,但在我看来,我看到的行为已被硬编码到 PowerPoint 中。

defaults read com.microsoft.Powerpoint | grep -i 'dash'
defaults read com.microsoft.Powerpoint | egrep -iR 'dashsub'

我仍在寻找解决办法。

此问题已通过 PowerPoint 使用“帮助”>“反馈”报告给 Microsoft,如果您愿意支持产品更新,也可以这样做。

相关内容