Skip to content

按键动作

  • space: 表示空格键
  • enter: 表示回车键
  • tab: 表示 Tab 键
  • shift: 表示 Shift 键
  • backspace: 表示删除键
  • dismissKeyboard: 表示收起键盘
  • moveCursorBackward: 表示光标左移
  • moveCursorForward: 表示光标右移
  • returnPrimaryKeyboard: 表示返回主键盘。主键盘指 pinyin 中文键盘或者 alphabetic 英文键盘类型。
  • returnLastKeyboard: 表示返回上一个键盘。功能会按键盘切换顺序的逆序,返回上一个使用过的键盘类型。注意:当键盘切换到中文键盘 pinyin 时,会清空键盘切换栈,此时再触发返回上一个键盘动作无效。
  • symbolicKeyboardLockStateToggle: 表示符号键盘锁定状态切换。锁定状态下,点击符号键盘中的符号键不会切换回主键盘。符号键盘指类型为 symbolic 的键盘。
  • settings: 表示打开主应用界面。
  • nextKeyboard:表示切换到 iOS 系统键盘列表中的下一个键盘。

配置示例:

action: space

character: 表示输入一个字符。此符号会发送给输入法引擎 rime,输入法引擎会根据当前的输入状态决定如何处理这个字符。

配置示例:

action: { character: 'a' }

symbol: 表示输入一个符号。此符号会直接发送给系统,不会经过输入法引擎 rime。

配置示例:

action: { symbol: '!' }

sendKeys: 表示发送一组符号给输入法引擎 rime。

  • 当需要辅助键(如 Shift、Ctrl、Alt)时,可以在辅助键后加上 + 号,表示按下该辅助键。
  • 多个字符之间无需用 + 号连接,直接写在一起即可。

配置示例:

action: { sendKeys: 'Shift+a' }
action: { sendKeys: 'nihao' }

rimeOption: 调整 RIME Option 选项状态。此选项对应的值为方案配置中 Option 的名称。

配置示例:

action: { rimeOption: 'ascii_mode' }

runScriptSilently: 表示静默执行一个 JavaScript 脚本。此脚本会在后台执行,不会弹出脚本页面。

配置示例:

action: { runScriptSilently: '脚本名称' }

ai: 表示执行一个 AI 指令。此指令会在后台执行,不会弹出命令页面。

配置示例:

action: { ai: 'AI 指令名称' }

phrase: 表示调用一个常语语

配置示例:

action: { phrase: '常用语 title' }

snippet: 表示一个模板片段,它的功能与常用语是完全相同的。它省略了常用语创建的步骤,可以将常用语的内容,直接放到这个条指令中。

配置示例:

action: { snippet: '这是一个日期:{{date:yyyy-MM-dd}}' }

常用语下的内置变量与自定义变量在这里都可以使用。

  • 内置变量:

    • 公历:{{date:时间格式}}

    • 农历:{{lunar_date:时间格式}}

    • 生肖:{{lunar_zodiac}}

      常见时间格式:

      • {{date:yyyy-MM-dd}}: 输出 2020-12-31
      • {{date:yyyy/MM/dd}}: 输出 2020/12/31
      • {{date:dd.MM.yyyy}}: 输出 31.12.2020
      • {{date:dd.MM.yy}}: 输出 31.12.20
      • {{date:dd/MM/yyyy}}: 输出 31/12/2020
      • {{date:dd/MM/yy}}: 输出 31/12/20
      • {{date:MMM d, yyyy}}: 输出 12月 31, 2020
      • {{date:eee}}: 输出 周一
      • {{date:eeee}}: 输出 星期一
      • {{lunar_date:U}}: 输出 丙午
      • {{lunar_date:U年MMMd}}: 输出 丙午年七月廿四
      • {{lunar_zodiac}}: 输出

    时间格式中预定义的字符串含义:

    • 年:用 y 表示当前年份

      • yy:2位数字表示年,如 26
      • yyyy:年,四位表示法,如 2026
      • U:表示中文年份,如 丙午,需搭配 lunar_date 使用,如 {{lunar_date:时间格式}}
    • 季度:用 q 表示表示当前季度

      • q:1位数字表示季度,如第三季度为 3
      • qq:2位数字表示季度,如第三季度为 03
      • qqq:数字加后缀季度,如第三季度为 3季度
    • 月:用 M 表示当前月份

      • M:用最少1位数字表示月份,一月对应 1,十二月对应 12
      • MM:2位数字表示月份,不够两位的月份会补 0,如一月对应 01
      • MMM: 公历(date):数字加后缀,如一月对应 1月 农历(lunar_date):汉字加后缀,如七月
      • MMMM:汉字加后缀,如一月
    • 周:用 w 表示当年周数,用 W 表示当月周数

      • w:用最少1位数字表示周,如当年第一周对应 1,当年第35周对应 35
      • ww:用最少2位数字表示周,不足两位的周会补 0,如当年第一周对应 01
      • W:用数字表示当月周数,如当月第一周对应 1
    • 天:用 d 表示当月天数,用 D 表示当年天数

      • d:

        • 公历(date):用最少1位数字表示当月天数,如当月第2天对应 2
        • 农历(lunar_date):用中文汉字表示当月天数,如24号对应廿四
      • dd:

        • 公历(date):用最少2位数字表示当月天数,如当月第2天对应 02
        • 农历(lunar_date):用中文汉字表示当月天数,如24号对应廿四
      • D:用最少1位数字表示当年天数,如当年第2天对应 2

      • DD:用最少2位数字表示当年天数,如当年第2天对应 02

      • DDD:用最少3位数字表示当年天数,如当年第2天对应 002

    • 周天:用 e 表示当前周的天数

      • e:用最少1位数字表示当前周的第几天,如星期五对 5
      • ee:用最少2位数字表示当前周的第几天,如星期五对 05
      • eee: 汉字加汉字天数表示当前周的第几天,如当前周的第5天对应 周五
      • eeee: 汉字表示当前周的第几天,如当前周的第5天,对应星期五
      • eeeee: 汉字表示当前周的第几天,如当前周的第5天,对应
    • 上午/下午:用 a 表示当天的上午还是下午,B表示上午、下午、中午、晚上

      • a: 当天上午对应 上午,当天下午对应 下午
      • B:表示当天4个时间段:上午、下午、中午、晚上
    • 小时:用 h 表示当前时间点(12小时计时),用 H 表示当前时间点(24小时计时)

      • h:用最少1位数字表示当前时间点,如1点对应 1
      • hh:用最少2位数字表示当前时间点,如1点对应 01
      • H:用最少1位数字表示当前时间点,如上午1点对应 1,下午1点对应 13
      • HH:用最少2位数字表示当前时间点,如上午1点对应 01,下午1点点对应 13
    • 分钟:用 m 表示当前时间点的分钟

      • m:用最少1位数字表示当前时间点的分钟,如当前1点过9分对应 9
      • mm:用最少2位数字表示当前时间点的分钟,如当前1点过9分对应 09
    • 秒:用 s 表示当前时间点的秒

      • s:用最少1位数字表示当前时间点的秒,如当前1点9分9秒对应 9
      • ss:用最少2位数字表示当前时间点的秒,如当前1点9分9秒对应 09
  • 内置变量「光标」: {{cursor}},用于调整模板上屏后的光标位置。

    比如我想写上屏一个 Markdown 的强调标记 ::::,上屏后我想让光标在强调标记的中间,那么我的模板可以这样写:

    ::{{cursor}}::
  • 自定义变量

    你可以在常用语功能中添加任意变量,比如新增一个变量名为邮箱,变量值为 123@123.com的变量。你在模板中可以这样使用:

    {{邮箱}}

    上屏后的内容就是:123@123.com

openURL: 表示打开一个链接。

配置示例:

action: { openURL: 'https://imfuxiao.github.io/Hamster3Document' }

打开链接的特殊用法:

  • 使用 #pasteboardContent 表示打开剪贴板内容作为链接。

配置示例:

action: { openURL: '#pasteboardContent' }
  • 使用 #selectText 表示打开当前选中内容作为链接。

配置示例:

action: { openURL: '#selectText' }
  • 以上两种特殊用法可以结合使用。

配置示例:

action: { openURL: '#pasteboardContent#selectText' }

runScript: 表示运行指定脚本。

配置示例:

action: { runScript: 'myScript' }

keyboardType: 表示切换到指定类型的键盘。

系统规定了以下几种键盘类型:

  • pinyin: 拼音中文键盘
  • alphabetic: 英文键盘
  • symbolic: 符号键盘
  • numeric: 数字键盘
  • emojis: Emoji 键盘

配置示例:

action: { keyboardType: 'pinyin' }

除了以上几种系统键盘类型外,用户还可以自定义其他键盘类型。

配置示例:

action: { keyboardType: '自定义键盘名称' }

shortcut: 表示执行一个快捷指令。

系统预定义了以下快捷指令:

  • #简繁切换:简体与繁体切换。

  • #中英切换:中文与英文切换。注意此切换是指 rime 中 ascii_mode 的切换,非键盘类型切换。

  • #RimeSwitcher:进入 rime switch 状态。

  • #次选上屏:将当前第二个候选文字上屏。

  • #三选上屏:将当前第三个候选文字上屏。

  • #方案切换:显示当前方案切换页面,用于切换当前方案列表中的其他方案。

  • #左手模式:切换到单手模式下的左手模式。

  • #右手模式:切换到单手模式下的右手模式。

  • #行首:光标移动到当前行的行首。

  • #行尾:光标移动到当前行的行尾。

  • #换行:插入一个 \r

  • #Enter:插入一个 \n

  • #重输:清空已键入的 preedit 内容。

  • #subCollectionPageUp:子分类符号页向上翻页。

  • #subCollectionPageDown:子分类符号页向下翻页。

  • #verticalCandidatesPageDown: 纵向候选栏向下翻页。

  • #verticalCandidatesPageUp: 纵向候选栏向上翻页。

  • #showPhraseView:显示常用语视图。

  • #showPasteboardView:显示剪贴板视图。

  • #toggleScriptView:脚本页面显示与隐藏切换。

  • #candidatesBarStateToggle: 候选栏状态切换。用来展开候选文字或收起候选文字。

  • #rimePreviousPage:rime 候选页向前翻页。仅在开启手工分页模式下有效。

  • #rimeNextPage:rime 候选页向后翻页。仅在开启手工分页模式下有效。

  • #toggleEmbeddedInputMode:内嵌模式状态切换。

  • #keyboardPerformance:显示当前键盘性能信息。

  • #keyboardMenu:显示键盘菜单页面

  • #clearSystemPasteboard: 清空系统剪贴板中内容

配置示例:

action: { shortcut: '#candidatesBarStateToggle' }

switchRimeSchema: 表示切换到指定 RIME 方案。

配置示例:

action: { switchRimeSchema: '方案ID或方案名称' }
  • v1.4.0 及以上版本有效

combine:组合 action,用于触发多个 action

配置示例:

  • 切换到英文键盘且将输入方案转为 melt_eng
action:
combine:
- keyboardType: alphabetic
- switchRimeSchema: melt_eng