使用

常用快捷键

输入法快捷键 功能
C-n 或 M-n 或 + 向下翻页
C-p 或 M-p 或 - 向上翻页
C-f 选择下一个备选词
C-b 选择上一个备选词
SPC 确定输入
RET 或 C-m 字母上屏
C-c 取消输入
C-g 取消输入并保留已输入的中文
TAB 模糊音调整
DEL 或 BACKSPACE 删除最后一个字符
C-DEL 或 C-BACKSPACE 删除最后一个拼音
M-DEL 或 M-BACKSPACE 删除最后一个拼音

使用双拼模式

pyim 支持双拼输入模式,用户可以通过变量 `pyim-default-scheme’ 来设定:

  1. (setq pyim-default-scheme 'pyim-shuangpin)

注意:

  1. pyim 支持微软双拼(microsoft-shuangpin)和小鹤双拼(xiaohe-shuangpin)。
  2. 用户可以使用变量 `pyim-schemes’ 添加自定义双拼方案。
  3. 用户可能需要重新设置 `pyim-translate-trigger-char’。

使用五笔输入

pyim 支持五笔输入模式,用户可以通过变量 `pyim-default-scheme’ 来设定:

  1. (setq pyim-default-scheme 'wubi)

在使用五笔输入法之前,请用 pyim-dicts-manager 添加一个五笔词库,词库的格式类似:

  1. # ;;; -*- coding: utf-8-unix -*-
  2. .aaaa
  3. .aad
  4. .aadk
  5. .aadn
  6. .aadw
  7. .aafd
  8. .aaff
  9. .aaht
  10. .aak

最简单的方式是从 melpa 中安装 pyim-wbdict 包,然后根据它的
README 来配置。

使用仓颉输入法

pyim 支持仓颉输入法,用户可以通过变量 `pyim-default-scheme’ 来设定:

  1. (setq pyim-default-scheme 'cangjie)

在使用仓颉输入法之前,请用 pyim-dicts-manager 添加一个仓颉词库,词库的格式类似:

  1. # ;;; -*- coding: utf-8-unix -*-
  2. @a
  3. @a
  4. @aa
  5. @aa
  6. @aaa
  7. @aaa
  8. @aaah

如果用户使用仓颉第五代,最简单的方式是从 melpa 中安装 pyim-cangjie5dict 包,然后根据它的 README 来配置。
pyim 支持其它版本的仓颉,但需要用户自己创建词库文件。

用户可以使用命令:`pyim-search-word-code’ 来查询当前选择词条的仓颉编码

让选词框跟随光标

用户可以通过下面的设置让 pyim 在 光标处 显示一个选词框:

  1. 使用 popup 包来绘制选词框 (emacs overlay 机制)

    1. (setq pyim-page-tooltip 'popup)
  2. 使用 posframe 来绘制选词框

    1. (setq pyim-page-tooltip 'posframe)

    注意:pyim 不会自动安装 posframe, 用户需要手动安装这个包,

调整 tooltip 选词框的显示样式

pyim 的 tooltip 选词框默认使用 双行显示 的样式,在一些特殊的情况下(比如:popup 显示的菜单错位),用户可以使用 单行显示
的样式:

  1. (setq pyim-page-style 'one-line)

注:用户可以添加函数 pyim-page-style-STYLENAME-style 来定义自己的选词框格式。

设置模糊音

可以通过设置 `pyim-fuzzy-pinyin-alist’ 变量来自定义模糊音。

使用魔术转换器

用户可以将待选词条作 “特殊处理” 后再 “上屏”,比如 “简体转繁体” 或者“输入中文,上屏英文” 之类的。

用户需要设置 `pyim-magic-converter’, 比如:下面这个例子实现,输入 “二呆”,“一个超级帅的小伙子” 上屏 :-)

  1. (defun my-converter (string)
  2. (if (equal string "二呆")
  3. "“一个超级帅的小伙子”"
  4. string))
  5. (setq pyim-magic-converter #'my-converter)

切换全角标点与半角标点

  1. 第一种方法:使用命令 `pyim-punctuation-toggle’,全局切换。这个命令主要用来设置变量: `pyim-punctuation-translate-p’, 用户也可以手动设置这个变量, 比如:

    1. (setq pyim-punctuation-translate-p '(yes no auto)) ;使用全角标点。
    2. (setq pyim-punctuation-translate-p '(no yes auto)) ;使用半角标点。
    3. (setq pyim-punctuation-translate-p '(auto yes no)) ;中文使用全角标点,英文使用半角标点。
  2. 第二种方法:使用命令 `pyim-punctuation-translate-at-point’ 只切换光标处标点的样式。
  3. 第三种方法:设置变量 `pyim-translate-trigger-char’ ,输入变量设定的字符会切换光标处标点的样式。

手动加词和删词

  1. `pyim-create-Ncchar-word-at-point 这是一组命令,从光标前提取N个汉字字符组成字符串,并将其加入个人词库。
  2. `pyim-translate-trigger-char’ 以默认设置为例:在“我爱吃红烧肉”后输入“5v” 可以将“爱吃红烧肉”这个词条保存到用户个人词库。
  3. `pyim-create-word-from-selection’, 选择一个词条,运行这个命令后,就可以将这个词条添加到个人词库。
  4. `pyim-delete-word’ 从个人词库中删除当前高亮选择的词条。

pyim 高级功能

  1. 根据环境自动切换到英文输入模式,使用 pyim-english-input-switch-functions 配置。
  2. 根据环境自动切换到半角标点输入模式,使用 pyim-punctuation-half-width-functions 配置。

注意:上述两个功能使用不同的变量设置, 千万不要搞错

  1. 根据环境自动切换到英文输入模式

    1. <colgroup>
    2. <col class="org-left" />
    3. <col class="org-left" />
    4. </colgroup>
    5. <thead>
    6. <tr>
    7. <th scope="col" class="org-left">探针函数</th>
    8. <th scope="col" class="org-left">功能说明</th>
    9. </tr>
    10. </thead>
    11. <tbody>
    12. <tr>
    13. <td class="org-left">pyim-probe-program-mode</td>
    14. <td class="org-left">如果当前的 mode 衍生自 prog-mode,那么仅仅在字符串和 comment 中开启中文输入模式</td>
    15. </tr>
    16. </tbody>
    17. <tbody>
    18. <tr>
    19. <td class="org-left">pyim-probe-org-speed-commands</td>
    20. <td class="org-left">解决 org-speed-commands 与 pyim 冲突问题</td>
    21. </tr>
    22. <tr>
    23. <td class="org-left">pyim-probe-isearch-mode</td>
    24. <td class="org-left">使用 isearch 搜索时,强制开启英文输入模式</td>
    25. </tr>
    26. <tr>
    27. <td class="org-left">&#xa0;</td>
    28. <td class="org-left">注意:想要使用这个功能,pyim-isearch-mode 必须激活</td>
    29. </tr>
    30. </tbody>
    31. <tbody>
    32. <tr>
    33. <td class="org-left">pyim-probe-org-structure-template</td>
    34. <td class="org-left">使用 org-structure-template 时,关闭中文输入模式</td>
    35. </tr>
    36. </tbody>
    37. <tbody>
    38. <tr>
    39. <td class="org-left">&#xa0;</td>
    40. <td class="org-left">1. 当前字符为中文字符时,输入下一个字符时默认开启中文输入</td>
    41. </tr>
    42. <tr>
    43. <td class="org-left">pyim-probe-dynamic-english</td>
    44. <td class="org-left">2. 当前字符为其他字符时,输入下一个字符时默认开启英文输入</td>
    45. </tr>
    46. <tr>
    47. <td class="org-left">&#xa0;</td>
    48. <td class="org-left">3. 使用命令 pyim-convert-code-at-point 可以将光标前的拼音字符串强制转换为中文。</td>
    49. </tr>
    50. </tbody>
    51. </table>
    52. 激活方式:
    53. (setq-default pyim-english-input-switch-functions
    54. '(probe-function1 probe-function2 probe-function3))
    55. 注:上述函数列表中,任意一个函数的返回值为 t 时,pyim 切换到英文输入模式。
    1. 根据环境自动切换到半角标点输入模式

    1. <colgroup>
    2. <col class="org-left" />
    3. <col class="org-left" />
    4. </colgroup>
    5. <thead>
    6. <tr>
    7. <th scope="col" class="org-left">探针函数</th>
    8. <th scope="col" class="org-left">功能说明</th>
    9. </tr>
    10. </thead>
    11. <tbody>
    12. <tr>
    13. <td class="org-left">pyim-probe-punctuation-line-beginning</td>
    14. <td class="org-left">行首强制输入半角标点</td>
    15. </tr>
    16. </tbody>
    17. <tbody>
    18. <tr>
    19. <td class="org-left">pyim-probe-punctuation-after-punctuation</td>
    20. <td class="org-left">半角标点后强制输入半角标点</td>
    21. </tr>
    22. </tbody>
    23. </table>
    24. 激活方式:
    25. (setq-default pyim-punctuation-half-width-functions
    26. '(probe-function4 probe-function5 probe-function6))
    27. 注:上述函数列表中,任意一个函数的返回值为 t 时,pyim 切换到半角标点输入模式。