;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'pyim-common) #@188 激活这个 pyim 探针函数后,只能在字符串和 comment 中输入中文。 注:仅仅影响 `prog-mode' 衍生的 mode 。 用于:`pyim-english-input-switch-functions' 。 (defalias 'pyim-probe-program-mode #[0 "\300\301!\205#`\302!\303\233\211\262@\206 \211A\211\262@\206 \3038?\266\202\207" [derived-mode-p prog-mode syntax-ppss 3] 4 (#$ . 432) nil]) #@146 激活这个 pyim 探针函数后,可以解决 org-speed-commands 与 pyim 冲突问题。 用于:`pyim-english-input-switch-functions' 。 (defalias 'pyim-probe-org-speed-commands #[0 "\303\230\205n\205\304 !\205\n\207" [major-mode org-heading-regexp org-use-speed-commands "org-mode" looking-at] 2 (#$ . 815)]) #@159 激活这个 pyim 探针函数后,使用 isearch 搜索时,禁用中文输入,强制英文输入。 用于:`pyim-english-input-switch-functions' 。 (defalias 'pyim-probe-isearch-mode #[0 "\205 \301\302\303 \"\207" [pyim-isearch-mode cl-some #[257 "\300\301\"\207" [buffer-local-value isearch-mode] 4 "\n\n(fn BUF)"] buffer-list] 3 (#$ . 1147)]) #@153 激活这个 pyim 探针函数后,输入 org-structure-template 时,不会开启中文输入。 用于:`pyim-english-input-switch-functions' 。 (defalias 'pyim-probe-org-structure-template #[0 "\301=\205\302 `{\303\304!\205\305\306\"\262\207" [major-mode org-mode point-at-bol looking-at "[ ]*$" string-match "^[ ]*<\\([a-zA-Z]*\\)$"] 4 (#$ . 1512)]) #@639 激活这个 pyim 探针函数后,使用下面的规则动态切换中英文输入: 1. 从光标往前找第一个非数字的字符,为中文字符时,输入下一个字符时默认开启中文输入 2. 从光标往前找第一个非数字的字符,为其他字符时,输入下一个字符时默认开启英文输入 3. 使用 `pyim-convert-code-at-point' 可以将光标前的 code 字符串转换为中文, 所以用户需要给 `pyim-convert-code-at-point' 绑定一个快捷键,比如: (global-set-key (kbd "M-i") 'pyim-convert-code-at-point) 这个函数用于:`pyim-english-input-switch-functions' 。 (defalias 'pyim-probe-dynamic-english #[0 "\300\301!\211\203\302\303\"\203T\262\301!\262\202\304 ?\205X`\212\305 \210`)X\203J\306\307\212\310\311\312\313#\205;\314`f!)\"\206F\315\316!G\300V?\202X\306\307\"\206W\315\316!G\300V?\207" [0 pyim-char-before-to-string cl-search "0123456789" pyim-exwm-enable-p back-to-indentation pyim-string-match-p "\\cc" re-search-backward "[^[:space:]\n]" nil t char-to-string pyim-entered-get point-before] 8 (#$ . 1887)]) #@499 激活这个 pyim 探针函数后,使用下面的规则自动切换中英文输入: 1. 当前字符为英文字符(不包括空格)时,输入下一个字符为英文字符 2. 当前字符为中文字符或输入字符为行首字符时,输入的字符为中文字符 3. 以单个空格为界,自动切换中文和英文字符 即,形如 `我使用 emacs 编辑此函数' 的句子全程自动切换中英输入法 这个函数用于:`pyim-english-input-switch-functions' 。 (defalias 'pyim-probe-auto-english #[0 "\300\301!\300\302!\303 ?\2053`\212\304 \210`)V\2053\305\306\"\203%\305\307\"\2023\305\307\"?\2053\310\311!G\301U\207" [pyim-char-before-to-string 0 1 pyim-exwm-enable-p back-to-indentation pyim-string-match-p " " "\\cc" pyim-entered-get point-before] 5 (#$ . 3006)]) #@122 判断是否是evil的normal模式,如果是则返回true. 这个函数用于:`pyim-english-input-switch-functions'. (defalias 'pyim-probe-evil-normal-mode #[0 "\300 \207" [evil-normal-state-p] 1 (#$ . 3826)]) #@154 激活这个 pyim 探针函数后,行首输入标点时,强制输入半角标点。 用于:`pyim-punctuation-half-width-functions' 。 (fn CHAR) (defalias 'pyim-probe-punctuation-line-beginning #[257 "\301 `{\302 ?\205\303!\304\305\"\235\205\306\307\"\207" [pyim-punctuation-dict point-at-bol pyim-exwm-enable-p char-to-string mapcar car string-match "^[ ]*$"] 6 (#$ . 4047)]) #@178 激活这个 pyim 探针函数后,半角标点后再输入一个标点符号时,强制输入半角标点。 用于:`pyim-punctuation-half-width-functions' 。 (fn CHAR) (defalias 'pyim-probe-punctuation-after-punctuation #[257 "\301\302!\303\304\"\235\205\305!\235\207" [pyim-punctuation-dict pyim-char-before-to-string 0 mapcar car char-to-string] 5 (#$ . 4447)]) #@83 org-mode 中的 latex fragment 和 latex 宏指令中自动切换到英文输入. (defalias 'pyim-probe-org-latex-mode #[0 "\301=\205\302 \303=?\206\304 \303=?\207" [major-mode org-mode org-inside-LaTeX-fragment-p nil org-inside-latex-macro-p] 2 (#$ . 4833)]) (provide 'pyim-probe)