[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 474e8ff: Add orderless support to README.
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 474e8ff: Add orderless support to README. |
Date: |
Fri, 16 Apr 2021 04:57:09 -0400 (EDT) |
branch: externals/pyim
commit 474e8ff24bbe6ade78e2f97a95da744b5fc34bb6
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Add orderless support to README.
---
README.md | 186 +++++++++++++++++++++++++++++++++-----------------------------
pyim.el | 9 +++
2 files changed, 108 insertions(+), 87 deletions(-)
diff --git a/README.md b/README.md
index e4b07cd..7163b1c 100644
--- a/README.md
+++ b/README.md
@@ -3,63 +3,64 @@ Note: this file is auto converted from pyim.el by
[el2org](https://github.com/tu
# 目录
-1. [pyim 使用说明](#org19a0ee0)
- 1. [截图](#orgb8792e2)
- 2. [简介](#org43de720)
- 3. [背景](#org660eac9)
- 4. [目标](#orgb768d9e)
- 5. [特点](#orgafb323d)
- 6. [安装](#org03b7889)
- 7. [配置](#org655d84b)
- 1. [配置实例](#org8fd73de)
- 2. [添加词库文件](#org6e3db1d)
- 3. [激活 pyim](#orgd8e0f61)
- 8. [使用](#org11708fe)
- 1. [常用快捷键](#org4ba2955)
- 2. [使用双拼模式](#orgf35c2b3)
- 3. [使用 rime 输入法](#orgb6a5d73)
- 4. [使用五笔输入](#org3f5dd06)
- 5. [使用仓颉输入法](#orgda2f7f3)
- 6. [让选词框跟随光标](#orgf4ba754)
- 7. [调整 tooltip 选词框的显示样式](#org36be13a)
- 8. [设置模糊音](#org3a714dd)
- 9. [使用魔术转换器](#orge4149b4)
- 10. [切换全角标点与半角标点](#org0d0a400)
- 11. [手动加词和删词](#org6d0226c)
- 12. [pyim 高级功能](#org2074783)
- 9. [捐赠](#orge69b3b9)
- 10. [Tips](#org374c9de)
- 1. [关闭输入联想词功能 (默认开启)](#org6794f93)
- 2. [如何将个人词条相关信息导入和导出?](#org5acd91c)
- 3. [pyim 出现错误时,如何开启 debug 模式](#org70186b7)
- 4. [如何查看 pyim 文档。](#org0342f2f)
- 5. [将光标处的拼音或者五笔字符串转换为中文 (与 vimim 的 “点石成金” 功能类似)](#orgf7a7e1a)
- 6. [如何使用其它字符翻页](#org6368d16)
- 7. [如何用 ";" 来选择第二个候选词](#org826dd31)
- 8. [如何添加自定义拼音词库](#orgbf4f0b9)
- 9. [如何手动安装和管理词库](#orgeb01fac)
- 10. [Emacs 启动时加载 pyim 词库](#org0fa8718)
- 11. [将汉字字符串转换为拼音字符串](#org6b7fbf7)
- 12. [中文分词](#orgb60d5cb)
- 13. [获取光标处的中文词条](#org6ff2843)
- 14. [让 \`forward-word' 和 \`back-backward’ 在中文环境下正常工作](#org0c34af2)
- 15. [为 isearch 相关命令添加拼音搜索支持](#orgbcca805)
- 16. [让 ivy 支持拼音搜索候选项功能](#org6bc050b)
-
-
-<a id="org19a0ee0"></a>
+1. [pyim 使用说明](#orgcbdeca4)
+ 1. [截图](#org71cf5e3)
+ 2. [简介](#org891d768)
+ 3. [背景](#org3da3943)
+ 4. [目标](#org3d34df0)
+ 5. [特点](#org7cac778)
+ 6. [安装](#orgcf4ddf7)
+ 7. [配置](#orgda5b195)
+ 1. [配置实例](#org3444de6)
+ 2. [添加词库文件](#org27b18bf)
+ 3. [激活 pyim](#org0fc025e)
+ 8. [使用](#org6bfe13f)
+ 1. [常用快捷键](#org08ed443)
+ 2. [使用双拼模式](#org8f9b2b2)
+ 3. [使用 rime 输入法](#orge5c9d5b)
+ 4. [使用五笔输入](#orgde7e4b0)
+ 5. [使用仓颉输入法](#orge419e92)
+ 6. [让选词框跟随光标](#orgc40c5aa)
+ 7. [调整 tooltip 选词框的显示样式](#orgfd746e1)
+ 8. [设置模糊音](#orgd6b2315)
+ 9. [使用魔术转换器](#org535e35e)
+ 10. [切换全角标点与半角标点](#org5311501)
+ 11. [手动加词和删词](#orga6e37a7)
+ 12. [pyim 高级功能](#org0279b62)
+ 9. [捐赠](#org763936b)
+ 10. [Tips](#org73c369b)
+ 1. [关闭输入联想词功能 (默认开启)](#org3e138fa)
+ 2. [如何将个人词条相关信息导入和导出?](#org090538e)
+ 3. [pyim 出现错误时,如何开启 debug 模式](#org65cab27)
+ 4. [如何查看 pyim 文档。](#org19bdfe0)
+ 5. [将光标处的拼音或者五笔字符串转换为中文 (与 vimim 的 “点石成金” 功能类似)](#orgf65f522)
+ 6. [如何使用其它字符翻页](#orgda33e72)
+ 7. [如何用 ";" 来选择第二个候选词](#org6fc7acf)
+ 8. [如何添加自定义拼音词库](#org0ccd11b)
+ 9. [如何手动安装和管理词库](#org08126a5)
+ 10. [Emacs 启动时加载 pyim 词库](#org1b92a42)
+ 11. [将汉字字符串转换为拼音字符串](#orgdecc1bc)
+ 12. [中文分词](#orge8c3c90)
+ 13. [获取光标处的中文词条](#org186a6cb)
+ 14. [让 \`forward-word' 和 \`back-backward’ 在中文环境下正常工作](#org2d760f6)
+ 15. [为 isearch 相关命令添加拼音搜索支持](#orgf55b7a8)
+ 16. [让 ivy 支持拼音搜索候选项功能](#org8f9380b)
+ 17. [让 vertico, selectrum 等补全框架,通过 orderless 支持拼音搜索候选项功能。](#orgd649f19)
+
+
+<a id="orgcbdeca4"></a>
# pyim 使用说明
-<a id="orgb8792e2"></a>
+<a id="org71cf5e3"></a>
## 截图
![img](./snapshots/pyim-linux-x-with-toolkit.png)
-<a id="org43de720"></a>
+<a id="org891d768"></a>
## 简介
@@ -67,7 +68,7 @@ pyim 是 Emacs 环境下的一个中文输入法,最初它只支持全拼输
"pyim" 代表 "Chinese Pinyin Input Method" 的意思,后来根据同学的提议,添加了五笔的支持,再叫 “拼音输入法”
就不太合适了,所以你现在可以将它理解为 “PengYou input method”: 平时像朋友一样帮助你,偶尔也像朋友一样犯二 。。。
-<a id="org660eac9"></a>
+<a id="org3da3943"></a>
## 背景
@@ -84,7 +85,7 @@ emacs-eim 是 Emacs 环境下的一个中文输入法框架, 支持拼音,
于是我 fork 了 emacs-eim 输入法的部分代码, 创建了一个项目:pyim。
-<a id="orgb768d9e"></a>
+<a id="org3d34df0"></a>
## 目标
@@ -96,7 +97,7 @@ pyim 的目标是: **尽最大的努力成为一个好用的 Emacs 中文输
3. Exchange: 尽最大可能简化 pyim 使用其他优秀输入法的词库的难度和复杂度。
-<a id="orgafb323d"></a>
+<a id="org7cac778"></a>
## 特点
@@ -105,7 +106,7 @@ pyim 的目标是: **尽最大的努力成为一个好用的 Emacs 中文输
3. pyim 使用文本词库格式,方便处理。
-<a id="org03b7889"></a>
+<a id="orgcf4ddf7"></a>
## 安装
@@ -119,12 +120,12 @@ pyim 的目标是: **尽最大的努力成为一个好用的 Emacs 中文输
(setq default-input-method "pyim")
-<a id="org655d84b"></a>
+<a id="orgda5b195"></a>
## 配置
-<a id="org8fd73de"></a>
+<a id="org3444de6"></a>
### 配置实例
@@ -176,7 +177,7 @@ pyim 的目标是: **尽最大的努力成为一个好用的 Emacs 中文输
("C-;" . pyim-delete-word-from-personal-buffer)))
-<a id="org6e3db1d"></a>
+<a id="org27b18bf"></a>
### 添加词库文件
@@ -186,10 +187,10 @@ pyim 当前的默认的拼音词库是 pyim-basedict, 这个词库的词条量
1. libpinyin 项目的内置词库
2. pyim 用户贡献的个人词库
-如果 pyim-basedict 不能满足需求,用户可以使用其他方式为 pyim 添加拼音词库,具体方式请参考 [1.10.8](#orgbf4f0b9)
小结。
+如果 pyim-basedict 不能满足需求,用户可以使用其他方式为 pyim 添加拼音词库,具体方式请参考 [1.10.8](#org0ccd11b)
小结。
-<a id="orgd8e0f61"></a>
+<a id="org0fc025e"></a>
### 激活 pyim
@@ -197,12 +198,12 @@ pyim 当前的默认的拼音词库是 pyim-basedict, 这个词库的词条量
(global-set-key (kbd "C-\\") 'toggle-input-method)
-<a id="org11708fe"></a>
+<a id="org6bfe13f"></a>
## 使用
-<a id="org4ba2955"></a>
+<a id="org08ed443"></a>
### 常用快捷键
@@ -296,7 +297,7 @@ pyim 当前的默认的拼音词库是 pyim-basedict, 这个词库的词条量
</table>
-<a id="orgf35c2b3"></a>
+<a id="org8f9b2b2"></a>
### 使用双拼模式
@@ -311,14 +312,14 @@ pyim 支持双拼输入模式,用户可以通过变量 \`pyim-default-scheme'
3. 用户可能需要重新设置 \`pyim-translate-trigger-char'。
-<a id="orgb6a5d73"></a>
+<a id="orge5c9d5b"></a>
### 使用 rime 输入法
具体安装和使用方式请查看 pyim-liberime 包的 Commentary 部分。
-<a id="org3f5dd06"></a>
+<a id="orgde7e4b0"></a>
### 使用五笔输入
@@ -350,7 +351,7 @@ pyim 支持五笔输入模式,用户可以通过变量 \`pyim-default-scheme'
键临时切换到辅助输入法来输入,选词完成之后自动退出。辅助输入法可以通过 \`pyim-assistant-scheme' 来设置。
-<a id="orgda2f7f3"></a>
+<a id="orge419e92"></a>
### 使用仓颉输入法
@@ -375,7 +376,7 @@ pyim 支持其它版本的仓颉,但需要用户自己创建词库文件。
用户可以使用命令:\`pyim-search-word-code' 来查询当前选择词条的仓颉编码
-<a id="orgf4ba754"></a>
+<a id="orgc40c5aa"></a>
### 让选词框跟随光标
@@ -391,7 +392,7 @@ pyim 支持其它版本的仓颉,但需要用户自己创建词库文件。
注意:pyim 不会自动安装 posframe, 用户需要手动安装这个包,
-<a id="org36be13a"></a>
+<a id="orgfd746e1"></a>
### 调整 tooltip 选词框的显示样式
@@ -403,14 +404,14 @@ pyim 的 tooltip 选词框默认使用 **双行显示** 的样式,在一些特
注:用户可以添加函数 pyim-page-style:STYLENAME 来定义自己的选词框格式。
-<a id="org3a714dd"></a>
+<a id="orgd6b2315"></a>
### 设置模糊音
可以通过设置 \`pyim-fuzzy-pinyin-alist' 变量来自定义模糊音。
-<a id="orge4149b4"></a>
+<a id="org535e35e"></a>
### 使用魔术转换器
@@ -425,7 +426,7 @@ pyim 的 tooltip 选词框默认使用 **双行显示** 的样式,在一些特
(setq pyim-magic-converter #'my-converter)
-<a id="org0d0a400"></a>
+<a id="org5311501"></a>
### 切换全角标点与半角标点
@@ -438,7 +439,7 @@ pyim 的 tooltip 选词框默认使用 **双行显示** 的样式,在一些特
3. 第三种方法:设置变量 \`pyim-translate-trigger-char' ,输入变量设定的字符会切换光标处标点的样式。
-<a id="org6d0226c"></a>
+<a id="orga6e37a7"></a>
### 手动加词和删词
@@ -448,7 +449,7 @@ pyim 的 tooltip 选词框默认使用 **双行显示** 的样式,在一些特
4. \`pyim-delete-word' 从个人词库中删除当前高亮选择的词条。
-<a id="org2074783"></a>
+<a id="org0279b62"></a>
### pyim 高级功能
@@ -578,7 +579,7 @@ pyim 的 tooltip 选词框默认使用 **双行显示** 的样式,在一些特
注:上述函数列表中,任意一个函数的返回值为 t 时,pyim 切换到半角标点输入模式。
-<a id="orge69b3b9"></a>
+<a id="org763936b"></a>
## 捐赠
@@ -590,19 +591,19 @@ pyim 的 tooltip 选词框默认使用 **双行显示** 的样式,在一些特
![img](snapshots/QR-code-for-author.jpg)
-<a id="org374c9de"></a>
+<a id="org73c369b"></a>
## Tips
-<a id="org6794f93"></a>
+<a id="org3e138fa"></a>
### 关闭输入联想词功能 (默认开启)
(setq pyim-enable-shortcode nil)
-<a id="org5acd91c"></a>
+<a id="org090538e"></a>
### 如何将个人词条相关信息导入和导出?
@@ -610,14 +611,14 @@ pyim 的 tooltip 选词框默认使用 **双行显示** 的样式,在一些特
2. 导出使用命令: pyim-export
-<a id="org70186b7"></a>
+<a id="org65cab27"></a>
### pyim 出现错误时,如何开启 debug 模式
(setq debug-on-error t)
-<a id="org0342f2f"></a>
+<a id="org19bdfe0"></a>
### 如何查看 pyim 文档。
@@ -626,14 +627,14 @@ pyim 的文档隐藏在 comment 中,如果用户喜欢阅读 html 格式的文
<http://tumashu.github.io/pyim/>
-<a id="orgf7a7e1a"></a>
+<a id="orgf65f522"></a>
### 将光标处的拼音或者五笔字符串转换为中文 (与 vimim 的 “点石成金” 功能类似)
(global-set-key (kbd "M-i") 'pyim-convert-string-at-point)
-<a id="org6368d16"></a>
+<a id="orgda33e72"></a>
### 如何使用其它字符翻页
@@ -641,7 +642,7 @@ pyim 的文档隐藏在 comment 中,如果用户喜欢阅读 html 格式的文
(define-key pyim-mode-map "," 'pyim-page-previous-page)
-<a id="org826dd31"></a>
+<a id="org6fc7acf"></a>
### 如何用 ";" 来选择第二个候选词
@@ -651,7 +652,7 @@ pyim 的文档隐藏在 comment 中,如果用户喜欢阅读 html 格式的文
(pyim-page-select-word-by-number 2)))
-<a id="orgbf4f0b9"></a>
+<a id="org0ccd11b"></a>
### 如何添加自定义拼音词库
@@ -696,7 +697,7 @@ pyim 默认没有携带任何拼音词库,用户可以使用下面几种方式
3. 编写语言: C语言
-<a id="orgeb01fac"></a>
+<a id="org08126a5"></a>
### 如何手动安装和管理词库
@@ -718,7 +719,7 @@ pyim 默认没有携带任何拼音词库,用户可以使用下面几种方式
3. 词库文件的编码必须为 utf-8-unix,否则会出现乱码。
-<a id="org0fa8718"></a>
+<a id="org1b92a42"></a>
### Emacs 启动时加载 pyim 词库
@@ -726,7 +727,7 @@ pyim 默认没有携带任何拼音词库,用户可以使用下面几种方式
#'(lambda () (pyim-restart-1 t)))
-<a id="org6b7fbf7"></a>
+<a id="orgdecc1bc"></a>
### 将汉字字符串转换为拼音字符串
@@ -737,7 +738,7 @@ pyim 默认没有携带任何拼音词库,用户可以使用下面几种方式
2. \`pyim-hanzi2pinyin-simple' (不考虑多音字)
-<a id="orgb60d5cb"></a>
+<a id="orge8c3c90"></a>
### 中文分词
@@ -756,7 +757,7 @@ pyim 包含了一个简单的分词函数:\`pyim-cstring-split-to-list', 可
词库中不存在的中文词条。
-<a id="org6ff2843"></a>
+<a id="org186a6cb"></a>
### 获取光标处的中文词条
@@ -764,7 +765,7 @@ pyim 包含了一个简单的命令:\`pyim-cwords-at-point', 这个命令可
\`pyim-cstring-split-to-list'。
-<a id="org0c34af2"></a>
+<a id="org2d760f6"></a>
### 让 \`forward-word' 和 \`back-backward’ 在中文环境下正常工作
@@ -781,7 +782,7 @@ pyim 包含了一个简单的命令:\`pyim-cwords-at-point', 这个命令可
(global-set-key (kbd "M-b") 'pyim-backward-word)
-<a id="orgbcca805"></a>
+<a id="orgf55b7a8"></a>
### 为 isearch 相关命令添加拼音搜索支持
@@ -799,10 +800,21 @@ pyim 安装后,可以通过下面的设置开启拼音搜索功能:
'(pyim-probe-isearch-mode))
-<a id="org6bc050b"></a>
+<a id="org8f9380b"></a>
### 让 ivy 支持拼音搜索候选项功能
(setq ivy-re-builders-alist
'((t . pyim-ivy-cregexp)))
+
+<a id="orgd649f19"></a>
+
+### 让 vertico, selectrum 等补全框架,通过 orderless 支持拼音搜索候选项功能。
+
+ (defun my-orderless-regexp (orig_func component)
+ (let ((result (funcall orig_func component)))
+ (pyim-cregexp-build result)))
+
+ (advice-add 'orderless-regexp :around #'my-orderless-regexp)
+
diff --git a/pyim.el b/pyim.el
index fa14b15..e4db327 100644
--- a/pyim.el
+++ b/pyim.el
@@ -556,6 +556,15 @@
;; '((t . pyim-ivy-cregexp)))
;; #+END_EXAMPLE
+;; *** 让 vertico, selectrum 等补全框架,通过 orderless 支持拼音搜索候选项功能。
+;; #+BEGIN_EXAMPLE
+;; (defun my-orderless-regexp (orig_func component)
+;; (let ((result (funcall orig_func component)))
+;; (pyim-cregexp-build result)))
+
+;; (advice-add 'orderless-regexp :around #'my-orderless-regexp)
+;; #+END_EXAMPLE
+
;;; Code:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/pyim 474e8ff: Add orderless support to README.,
ELPA Syncer <=