写了个个人向的 chinese-pyim 的中英切换函数

改自目前 chinese-pyim 自带的中英切换探针,我对目前的中英探针主要的不习惯在于需要调用点石成金来将第一个字切换成中文,相比之下我觉得第一个字默认中文然后用 Enter 来输入为英文更轻易一点(相比于输入一个快捷键)。所以也删除了根据上一行最后一个字来切换中英的功能,

现在的功能是:

每行第一个字为中文 中文之后是中文,英文之后是英文 中文空格为英文,英文空格为中文(即 我用 Archlinux 系统这种风格的输入是自动切换的

个人预想下这种风格的切换比较适合我,但还需继续使用才能知道 提供出来给和我有同样习惯的又不熟悉 elisp 的朋友 欢迎 @tumashu 大神提点 :smile:

(defun pyim-probe-dynamic-english-custom ()
  (let ((str-before-1 (pyim-char-before-to-string 0))
        (str-before-2 (pyim-char-before-to-string 1)))
    (unless (string= (buffer-name) " *temp*")
      (if (> (point) (save-excursion (back-to-indentation)
                                     (point)))
          (or (if (pyim-string-match-p " " str-before-1)
                  (pyim-string-match-p "\\cc" str-before-2)
                (and (not (pyim-string-match-p "\\cc" str-before-1))
                     (= (length pyim-entered-code) 0))))))))

感觉应该非常有用,省得用快捷键切换了。

赞,你可以想一个好名字,然后提交一个PR给 chinese-pyim, 任何在自动切换上的创新,我跟人认为,都是很重要的,记得在 docstr 中详细的说明这个探针的行为模式

好的,如果在这周内我个人使用没有问题就提交PR :stuck_out_tongue_closed_eyes:

1 个赞