如何让helm支持拼音搜索中文?

之前用ivy的时候可以做到,但是helm找不到相关的东西。

最好支持全拼而不是首字母。

就从目前中文搜索的实现方式, 只要可以定义 helm 的正则表达式生成函数,就很容易添加中文搜索

标题「如何让helm支持中文搜索?」存在歧义。什么叫中文搜索?中文搜中文,拼音捜中文?

ivy 内置,还是你用了别人的配置?要交待清楚。

关于 ivy 拼音搜索,在 怎样给 Ivy 添加拼音支持 有讨论,helm 可参考其实现。

有一个比较简陋的解决方法,用的是iswitchb-pinyin插件里面的函数。

(require 'iswitchb-pinyin)
  ;; 支持中文拼音首字母匹配,会使helm-find-files匹配过多。
(cl-defun helm-mm-3-match/around (orig-fn str &rest args)
    (apply orig-fn (concat str "|" (str-unicode-to-pinyin-initial str)) args))
(advice-add 'helm-mm-3-match :around #'helm-mm-3-match/around)
  ;; 默认在输入前面加空格解决匹配问题。
(defun helm-find-files-1/around (orig-fn fname &rest args)
    (apply orig-fn (concat fname " ") args))
(advice-add 'helm-find-files-1 :around #'helm-find-files-1/around)

忘记出处了,贴一个我自己保留的。

好的,已改。我去看看

我真的觉得这种实现方式很棒,给ivy提供拼音支持,请问有对helm的优化吗

暂时木有,你可以自己研究研究