设置说明输入设置

标点与符号

中英文标点切换、数字后 / 英文后智能标点、中英文之间自动加空格、自定义映射、连按转换的智能符号,以及括号自动配对与跳出

v0.131.0

「输入」页里有三张卡片管标点:字符与标点、智能符号、标点配对。本页逐项说明。

对应配置段是 config.toml 的 input.punct / input.symbol / input.auto_pair,完整键名与默认值见输入行为配置。

字符与标点

除了候选检索范围(说明在上一页),这张卡片剩下的都是标点相关:

选项说明
数字后智能标点数字后的句号输出点号、逗号输出英文逗号,方便输入 IP、小数。勾选启用,「设置」里编辑数字后保持英文的标点(参与的标点集合,默认 .,:)
英文后智能标点 0.131 新增英文单词后的指定标点输出英文形态(Node.js、a/b、snake_case)。勾选启用,「设置」里编辑英文后的英文标点(默认 ./_:@)。见下文
中英文自动加空格 0.131 新增汉字与英文切换的地方自动补一个空格(中 en 中)。见下文
中文与数字自动加空格 0.131 新增汉字与数字切换的地方自动补一个空格(共 3 个)。见下文
自定义标点映射勾选启用,「设置」里按英文半角 / 全角、中文半角 / 全角四态自定义标点替换
/ 键输出顿号 0.121 新增中文标点状态下按 / 输出「、」,英文标点状态仍是 /。它没有自己的配置键:打开就是在自定义标点映射表里把 / 那一行的中文两列改成「、」,并顺手打开自定义标点映射;关闭时把这两列恢复默认,但不关自定义标点映射(表里可能还有你别的行)。在表格里手改 / 那一行,这个开关也会跟着变

「标点随中英文切换」(切换到中文模式时自动切回中文标点)不在这张卡里,在按键页 → 中英文切换。

中英文标点与全角半角

这两个开关本身不在设置页里,是随手切换的:

  • Ctrl + . —— 中文标点 ↔ 英文标点。中文标点下输入 。,英文标点下输入 .
  • Shift + Space —— 全角 ↔ 半角。全角模式下英文字母和数字以全角宽度显示

每次激活输入法时的初始值在默认状态里设。

数字后智能标点

开启后,紧跟在数字后面的句号会输出 . 而不是 。,逗号同理。这样打 192.168.1.1、3.14 不必先切英文标点。

参与的标点集合由「数字后保持英文的标点」决定,点开对话框逐字符编辑,默认 .,:。

英文后智能标点 0.131 新增

开启后,紧跟在英文单词后面的标点按英文形态输出,打 Node.js、a/b、snake_case、user@host 不必先切英文标点。参与的标点由「英文后的英文标点」决定,默认 ./_:@。

  • 「英文后」以输入法自己记下的上一笔为准:刚上屏的英文词、刚打进去的字母都算;自己按过空格、回车、方向键,或用鼠标点到别处之后不算。
  • 英文词后直接按标点顶屏同样生效:临时英文里打 Node 再按 .,得到 Node.。
  • 默认列表不含 , ; ! ?:中文句子里英文词后接中文逗号很常见(「我用 Python,它……」)。
  • . 在列表里的代价是句末英文词后的句号也出 .(「我用的是 iPhone.」)。打错时连按两次 . 换回 。(需开智能符号),或从列表里去掉 .。

与「数字后智能标点」互相独立,开关和标点列表各一份。

中英文自动加空格 0.131 新增

两个开关,都默认关:

  • 中英文自动加空格:你好Hello世界 → 你好 Hello 世界。
  • 中文与数字自动加空格:共3个 → 共 3 个。汉字后直接打的数字(主键盘、小键盘都算)也会补。

规则:

  • 只管切换的地方:空格补在切换后那一笔的前面。连续的英文之间不归它管——要英文词与词之间的空格,开英文的上屏后自动加空格。
  • 标点前不补:Hello,、3。 不会变成 Hello ,。
  • 自己打过空格就不补;程序里光标前已经是空格(例如 Markdown 编辑器的排版插件补过)也不补。
  • 不确定时宁可不补:按过退格、方向键、回车,切换过窗口,或用鼠标点到别处之后,输入法不知道光标前是什么,下一笔两边都不补。例如 你好 退格成 你 再打 Hello,得到 你Hello。
  • 只处理经输入法打出的内容。英文模式下直接打的字母不处理。

和「上屏后自动加空格」一起用

英文的「上屏后自动加空格」(英文方案、临时英文各一份)是在英文词上屏时立刻补上后面的空格,打完就看得见。之后接中文时光标前已经是空格,不会再多补一个:

开关先打「你好」,再打两个英文词,再打「世界」
只开中英文自动加空格你好 HelloWorld 世界
两个都开你好 Hello World 世界

英文词后要接标点时,打完词直接按标点(标点顶屏),标点紧贴单词:hello,。先选词上屏(已带上空格)再按标点,标点前会隔着那个空格。

按软件关闭

Markdown 编辑器的排版插件、终端、代码编辑器往往自己处理空格,叠加后会出现双空格。在应用兼容设置里给这个软件把「中英间自动空格」设成「禁用」即可(英文词的「上屏后自动加空格」不受影响)。

自定义标点映射

开启后可以逐格重定义每个英文标点键在四种状态下输出什么:英文半角、英文全角、中文半角、中文全角。在表格对话框中编辑。

某个方案可以完全不用这张表

从 0.119 起,单个方案可以声明自己的一份标点映射(方案设置 → 自定义行为 → 自定义标点)。那是整份替换:切到那个方案时,这一页配的行全部不参与,连本页「自定义标点映射」那个勾选也一并被换掉。

所以遇到「这里配了,某个方案下不生效」,先去那个方案的设置里看看有没有勾上自己的表。

智能符号

「智能符号」解决的是中英混排时反复切标点的麻烦:连按两次同一个标点键,就把它换成另一种形态。

三个场景各有独立开关,都默认关:

开关生效场景效果
中文标点智能符号中文输入模式 + 中文标点连按两次中文标点 → 转英文形态
英文标点智能符号 0.113 新增中文输入模式 + 标点切到英文连按两次英文标点 → 转中文形态
英文模式智能符号 0.113 新增整个输入法切到英文模式连按两次英文标点 → 转中文形态

拆成三个是因为场景不同:多数人只需要第一个;写中文正文但标点用英文的人需要第二个;只有在英文里也想偶尔插中文标点的人才需要第三个。

「英文标点智能符号」藏在对话框里

它不单独占一行,而是寄居在「中文符号字符集」的对话框里——两者同属「中文输入模式下的标点行为」。点「中文标点智能符号」那一行的「设置」按钮就能看到。

即便「中文标点智能符号」没勾,这个按钮也照常可点,就是为了让只想用英文那一项的人够得着。

字符集

两个集合,各管各的:

设置内容
中文符号字符集参与「中文标点智能符号」的中文标点集合
英文符号字符集「英文标点智能符号」与「英文模式智能符号」共用。填按键本身的英文标点(. 而非 。),默认 .,?!:;

英文符号字符集里不要放括号引号

英文模式下这些键被输入法接管后,自动配对改由引擎处理,而输入法 DLL 的跳出栈是空的,Tab 跳出配对会失效。

「英文模式智能符号」影响面较大

开启后输入法会接管「英文符号字符集」里的所有键——这些键原本在英文半角下直接交给应用。这是它默认关闭的原因。

上屏方案与时限

这两项是三个场景共用的公共参数,所以不随任何单个开关置灰:

选项说明
智能符号上屏方案第一次按键的呈现方式,见下
智能符号时限两次按键的最大间隔(100–2000 ms)
上屏方案说明
直接替换(推荐)第一次按键直接上屏符号,再次按键删改为另一形态。所见即所得、没有中间预览态,体感更好;少数应用中兼容性略逊
组合态预览(兼容性好)第一次按键先以预览态显示,超时或再次按键才真正定型,全程不做删改。适合在「直接替换」下表现异常的应用

标点配对

输入左括号类标点时自动补出右标点,光标停在中间。中文与英文各有独立开关和字符集。

选项说明
中文标点自动配对开关
中文配对字符勾选参与配对的中文标点对
英文标点自动配对英文模式或英文标点下自动配对
英文配对字符勾选参与配对的英文括号对
配对跳出键见下

可选的中文标点对:()、【】、{}、《》、〈〉、「」、『』、""、''。

可选的英文括号对:()、[]、{}、""、''。

macOS 需要先授权「辅助功能」

macOS 上把光标送回两个标点中间,靠的是向前台应用发送方向键,这需要系统的辅助功能权限。未授权时配对功能静默降级:右标点照常补出,但光标停在它后面,跳出键也不会移动光标。

到 系统设置 → 隐私与安全性 → 辅助功能 打开「清风输入法」即可,详见 macOS 版 · 授权辅助功能。

跳出配对

自动补出右标点后,输入法会记住「光标右边还有一个待跳出的右标点」。按跳出键即可让光标越过它,而不是再插入一个。

跳出键说明
右符号本身你再打一次那个右标点,就当作「跳出」。误触发机会最小——它要求你打的右标点与记录的那一个正好对应,不对应就当普通标点输出
Tab 制表键不看具体是哪一对,只要配对状态还在就跳出
Enter 回车键同上

可多选,留空则不启用跳出。

左右同形的配对不支持「右符号本身」

引号这类左右一样的符号(""、''),无法区分你是要跳出还是要嵌套新的一对,只能用 Tab / Enter 跳出。

配对状态什么时候清除

  • 按跳出键跳出后(该层配对结束)
  • 输入框失去焦点、切换到别的窗口或程序
  • 正在输入的内容被宿主程序强制结束

切换中英文不会清除,因此在括号里切到英文打完再切回中文,跳出键依然有效。

用退格或鼠标改变光标后,跳出键可能多移动一格

输入法只能感知自己插入的内容,无法得知你用退格删掉了自动补出的右标点,也无法得知你用鼠标或方向键把光标移到了别处。这种情况下「配对状态」仍然存在,此时按跳出键会让光标向右多移动一格。

再输入一次左标点、切换一次窗口焦点,或者停下来不输入约两分钟,即可让状态复位。用「右符号本身」作跳出键时误触发的机会最小。

多字符配对

配对表只收单个标点。想要多字符的组合(<!-- -->、""" """、<div> </div> 等),用命令短语的 ime.pair:它上屏后同样会建立配对状态,用同一套跳出键越过右段,还支持嵌套的分级跳出。

注意 ime.pair 受本节的总开关约束(中文模式看中文配对、英文模式看英文配对),且只能用 Tab / Enter 跳出——「右符号本身」那条路径只认单个标点按键。

对这篇文档有疑问,或发现内容有误?

欢迎到文档仓库提 issue,写明问题时附上本页链接即可。

去提 issue →

本页目录