emacs-rime有没有自动切换中英文输入的探针

emacs-rime有没有自动切换中英文输入的探针pyim是由探针,可以自动根据文档内容自动切换中文输入法和英文输入法。emacs-rime现在一直手动 C-\来手动切换输入法。最近在用latex写博士论文,里面各种英文字符,中英文混杂,老实手动切换感觉手有点吃不消。有没有有比较好的解决办法。

有的rime-disable-predicates,这是我的配置

(use-package! rime
  :commands (toggle-input-method)
  :custom
  (default-input-method 'rime)
  (rime-show-candidate 'minibuffer)
  (rime-show-preedit t)
  (rime-disable-predicates
   '(rime-predicate-prog-in-code-p

     rime-predicate-auto-english-p

     rime-predicate-punctuation-after-ascii-p
     rime-predicate-punctuation-line-begin-p
     my/rime-predicate-punctuation-next-char-is-paired-p

     rime-predicate-tex-math-or-command-p
     rime-predicate-org-latex-mode-p
     rime-predicate-current-uppercase-letter-p))
  :init
  (defun my/rime-predicate-punctuation-next-char-is-paired-p ()
    (if (not (eq (point) (point-max)))
        (and (rime-predicate-current-input-punctuation-p)
             (not (string-match-p
                   (rx (any "\"\(\[\{"))
                   (buffer-substring (point) (1- (point)))))
             (string-match-p
              (rx (any "\}\]\)\""))
              (buffer-substring (point) (1+ (point)))))
      nil))

  :config
  (define-key rime-mode-map (kbd "M-j") 'rime-force-enable))

关于这个,项目的README里面有更加详细的说明,你可以看看那个里面的。

我现在用它来配合Orgmode做数学的笔记,还配合了一个包: LaTeX-auto-activating-snippets,输入的效率快了很多。但是这东西熟悉需要大概半天的时间

可以文字描述下这个是如何自动的吗?emacs-rime 项目介绍我看了,临时英文 输入好像只有在紧接着的英文字符后在自动输入英文(假定此时是中文输入状 态)。比如我要输入(a)这个括弧是中文的,如果是自动切换输入法就成 (a) 了,最右边就英文的括号了。这只是一个例子。 有最佳的emacs-rime中英文输入方案吗?

你不妨试试我这个配置,然后查找这些函数的定义。这些探针函数都写在一个文件里面,它们的注释都清楚地写明了他们的作用。

实质上面就是一系列的返回布尔值的函数,当这个列表变量里面的任意一个函数返回非nil的时候,就会禁用rime

有些总有些问题。感觉很多时候在实际输入中英文时候情况比较复杂,确实很难有一个比较好的方

是啊,机器还是很难真正能够完全读懂人的内心的。我为了适配这个智能切换方案,我改变了自己的一些输入习惯。比如中,英文及数字之间都留一个空格,如果需要输入大于一个单词的英文的时候就切换输入法,适应也没用了多久。但是输入体验却着实增加了

如果还是嫌麻烦的话可以临时将更改输入法的快捷键变成 C- Space 也可以啊🤔