使用 emacs 的 unicode (Python 3/Julia) 制表符补全?

Tab completion for unicode (Python 3/Julia) using emacs?

有没有办法配置 emacs,以便我们可以使用制表符补全来键入用于 Python 3 和 Julia 的 Unicode 变量?例如

\gamma -> tab -> γ

另一种方法是用 C-x RET C-\ 调用 set-input-method,选择 TeX,然后键入 \gamma,它将自动替换为 γ。然后您应该能够使用 C-\ 切换输入法。或者,如果您愿意,可以将 (setq default-input-method "TeX") 添加到您的初始文件并使用 C-\ 更快地进入 TeX 输入并执行相同的操作。

不久前我为 julia latexsubs 写了一个完成点。它只是以下内容(julia-latexsubsjulia-mode 中定义的乳胶符号的散列)

(defun julia-completion-at-point ()
  (let ((bnds (bounds-of-thing-at-point 'symbol)))
    (when bnds
      (cond
       ;; complete latex symbol when current symbol is prefixed
       ;; by '\'
       ((eq (char-before (car bnds)) ?\)
        (list (1- (car bnds)) (cdr bnds) julia-latexsubs
              :annotation-function
              #'(lambda (arg)
                  (gethash arg julia-latexsubs ""))))))))

然后在你的 julia-mode 挂钩中,或者 ess-julia-mode-hook

  (add-hook 'completion-at-point-functions 'julia-completion-at-point nil t)

您可以使用company-math. My config is here