在MacOS上删除ABC输入法 实测MacOS 15 最新版可用

MacOS已经安装了搜狗输入法,但是系统经常会默认切换到ABC输入法,且该输入法无法通过键盘设置删除

第一步:进入恢复模式,关闭系统完整性保护(SIP)

  1. 将 Mac 关机(如果你无法正常关机,请按住电源按钮最长 10 秒钟,直到 Mac 关机)

  2. 按住电源按钮,随着你继续按住这个按钮,Mac 会开机并载入启动选项。当你看到“正在载入启动选项”或“选项”图标时,请松开电源按钮。

搭载 Apple 芯片的 Mac 上的启动选项屏幕。

  1. 点按“选项”,然后点按在它下方显示的“继续”按钮。一直继续,直到出现以下页面,点击 实用工具 - 终端

image-20250401下午93144519

  1. 输入以下命令关闭系统完整性保护(SIP)
csrutil disable
  1. 如果有多个系统磁盘,首先会要求选择磁盘,按照提示选择即可。

    之后,系统会提示你输入“y”,再按回车键,然后输入你的密码,按回车键。你会看到系统完整性保护已关闭的提示。

  2. 重启系统

第二步:修改描述文件com.apple.HIToolbox.plist,删除ABC输入法

  1. 正常进入系统,打开终端,运行以下命令
# 查看系统完整性保护(SIP)是否已关闭
csrutil status

# 进入目录并打开
cd ~/Library/Preferences
# 备份原有文件并查看是否备份成功
cp com.apple.HIToolbox.plist com.apple.HIToolbox.plist.bak
ls com.apple.HIToolbox.plist*
# 在访达打开此目录
sudo open .
  1. 在访达中找到文件com.apple.HIToolbox.plist,右击打开“显示简介”,保持该窗口开启,然后再双击com.apple.HIToolbox.plist文件打开,展开Root - AppleEnabledInputSources,删除KeyboardLayout Name为ABC的行。

  2. 在删除后,用快捷键或者左上角保存,然后迅速勾选“简介”窗口的已锁定,防止系统会改回。关闭文件后再次双击打开,确认KeyboardLayout Name为ABC的行已经被删除。

image-20250401下午100839769

image-20250401下午91613260

  1. 重启电脑即可完成,ABC输入法自动消失。

第三步:重新开启系统完整性保护(SIP)

不想开启直接忽略此步骤,若要重新开启系统完整性保护(SIP),重做第一步,输入以下命令即可

csrutil enable
<think>好的,我需要帮助用户找到如何在MySQL中使用一条SQL语句同时实现插入和更新操作的方法。用户已经提供了一些相关的引用内容,我需要结合这些引用信息来构建答案。 首先,用户提到的引用[1]中提到了INSERT语句的不同形式,包括INSERT ... ON DUPLICATE KEY UPDATE。这似乎是一个关键点,因为当插入导致唯一索引或主键冲突时,可以用这个子句来更新现有行。这应该就是用户需要的解决方案。 然后,引用[2]提到了使用UPDATE语句来锁定行,这可能和并发控制有关,但用户的问题是关于插入和更新合并到一条语句,所以这里可能关联性不大,但需要确认是否需要考虑并发情况下的数据一致性。不过根据用户的问题,重点可能还是在ON DUPLICATE KEY UPDATE上。 引用[3]解释了InnoDB的更新流程,包括undolog和redolog的处理,这可能涉及到事务的处理机制,但用户的问题更多是关于语法层面的操作,所以这部分可能作为背景知识,说明MySQL是如何处理这种操作的底层机制,但不需要在答案中详细展开,除非需要解释为什么这种方法有效或可靠。 接下来,我需要整理ON DUPLICATE KEY UPDATE的用法,确保语法正确,并给出示例。同时,根据用户提供的示例中的格式要求,需要将SQL语句用代码块包裹,并且行内数学表达式使用$...$。不过在这个问题中可能不太涉及数学表达式,但需要确保格式正确。 用户可能的问题是如何处理当插入的数据主键已存在时更新其他字段,这正是ON DUPLICATE KEY UPDATE的作用。需要强调这是单条SQL语句,符合用户的需求。 可能的相关问题包括:如何处理冲突时的更新,如何确保原子性,性能如何等。根据用户提供的示例中的相关问题,我需要生成三个相关问题,可能涉及语法细节、原子性保证以及适用场景。 最后,需要检查回答结构是否清晰,是否引用了正确的引用来源,并在适当的位置添加引用标识。同时确保使用中文回答,并且所有技术术语准确无误。</think>在MySQL中可以通过`INSERT ... ON DUPLICATE KEY UPDATE`语句实现单条SQL同时处理插入和更新操作。该语法在检测到主键或唯一索引冲突时执行更新操作,否则执行插入操作[^1]。 ### 实现步骤 1. **定义唯一约束**:确保表有主键或唯一索引 2. **编写复合语句**:将插入逻辑与更新条件合并 ```sql INSERT INTO users (id, name, score) VALUES (1, 'Alice', 100) ON DUPLICATE KEY UPDATE name = VALUES(name), score = VALUES(score) + 10; ``` 3. **执行效果**: - 当id=1不存在时:插入新记录 `(1, 'Alice', 100)` - 当id=1已存在时:更新name为'Alice',score增加10 ### 底层机制 该操作具有原子性,通过以下机制保证数据一致性: 1. 先尝试插入数据 2. 发生唯一键冲突时触发更新 3. InnoDB引擎通过行级锁和undolog保证事务的ACID特性[^3] ### 语法注意事项 - `VALUES(col_name)` 可以获取INSERT语句中指定的值 - 支持同时更新多列 - 在MySQL 8.0.19+版本中可使用行别名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值