emacs-elpa-diffs
[Top][All Lists]
Advanced

[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
 
 # &#30446;&#24405;
 
-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:
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]