提供一个 buffer local 模式 evil-pinyin-mode ,使 evil 支持通过拼音首字母搜索。
还提供了一个全局模式 global-evil-pinyin-mode 以对所有buffer生效。
- 支持
evil-find-char,可以通过f/F/t/T行内定位汉字和英文。 - 支持
evil-snipe, 可以通过s/S行内定位双汉字和双字母。 - 支持
/和?搜索任意长度的词组。注意:evil的搜索模块默认使用了 Emacs 原始的实现isearch, 需要切换成evil自己的实现evil-search:(evil-select-search-module 'evil-search-module 'evil-search),但有些包(如 doom)默认已切换。 - 支持多种拼音方案:简体字-全拼,常用3500简体字-全拼,简体字-双拼(小鹤,自然码, 拼音加加,微软),繁字体-全拼。
- 支持自定义码表。
直接从 melpa 安装。
运行 evil-pinyin-mode.
(use-package evil-pinyin
:init
;;(setq-default evil-pinyin-scheme 'simplified-xiaohe-all)
;;(setq-default evil-pinyin-with-search-rule 'always)
:config
;;(evil-select-search-module 'evil-search-module 'evil-search)
(global-evil-pinyin-mode))| Variable | Buffer local | Description | Default |
|---|---|---|---|
| evil-pinyin-scheme | yes | 汉语拼音方案 | simplified-quanpin-all |
| evil-pinyin-with-search-rule | yes | 打开 / 和 ? 搜索功能 | ‘custom. |
| evil-pinyin-start-pattern | yes | 搜索起始符号 | 默认为冒号开启,即: /:hy 可以匹配“汉语” |
| evil-pinyin-with-punctuation | yes | 包含符号. | t |
(setq my-char-table
(list
;; A
"YOU CHAR TABLE FOR A"
;; B
"YOU CHAR TABLE FOR B"
;; ....
;; Z
"YOU CHAR TABLE FOR Z"))
(setq-default evil-pinyin-scheme nil)
(setq-default evil-pinyin-char-table my-char-table)部分代码来自于 evil-find-char-pinyin 和 pinyinlib