多谢,就是你说的这个。现在Rime自己的共享方案也是手动同步,我一般是一天更新一次,这样下班回家换电脑了还可以用上最新的个人词库。
有个严重的BUG望大家知晓,正在修复中。。
已修复
在 emacs 里,没什么不能的。
:hook
('kill-emacs . (lambda ()
(when (fboundp 'rime-lib-sync-user-data)
(ignore-errors (rime-sync)))))
你们都是使用 Dropbox ?
想了解下 emacs-rime 的内存占用和流畅度情况如何啊?
内存的话我激活输入法会从 94M -> 123M 增加 30M的样子。 不过实际上激活输入法也就激活了所有的方案,我这里面因为测试需要有 星空两笔单字,五笔,地球拼音,仓颉5 这些词库。
速度的话我觉得是很流畅的,如果是posframe或minibuffer做候选的话。 但不知道用什么指标来描述。
感觉流畅不流畅,那要看你手指拨楞的速度怎么样
高桥名人 编辑 讨论
高桥名人,电玩界有名的明星。本名高桥利幸,在还没有所谓的连发摇杆时代,以每秒钟能手指连按16下按键被称为“16连射”名噪一时,奉为当时电玩第一高手。1986年漫画家河合一庆也帮高桥名人绘制了一套六本的漫画“高桥名人物语”,算是当时流行电玩漫画的佼佼者。
哈哈,俺只是正常手速
给 emacs-rime
写了几个断言,自动切换中英文的,贴出来看有没有人需要
(里面有一个 defadvice!
是 doom-emacs
用的,其它配置要修改成 advice-add
)
;;; cnsunyour/chinese/+rime-probe-english.el -*- lexical-binding: t; -*-
(defvar +rime-input-key 0
"保存最后一个输入 key 值的变量。")
(unless (fboundp 'rime-input-method)
(error "Function `rime-input-method' is not available."))
(defadvice! +get-key--rime-input-method-a (key)
"在执行 `rime-input-method' 之前获取 key 值。"
:before #'rime-input-method
(setq +rime-input-key key))
(defun +rime--punctuation-line-begin-p ()
"判断当前光标是否在行首且输入字符为符号。"
(and (<= (point) (save-excursion (back-to-indentation) (point)))
(or (and (<= #x21 +rime-input-key) (<= +rime-input-key #x2f))
(and (<= #x3a +rime-input-key) (<= +rime-input-key #x40))
(and (<= #x5b +rime-input-key) (<= +rime-input-key #x60))
(and (<= #x7b +rime-input-key) (<= +rime-input-key #x7f)))))
(defun +rime--probe-dynamic-english ()
"判断当前光标位置前一个字符是否为英文、数字或字符。"
(looking-back "[a-zA-Z][0-9\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]*" 1))
(defun +rime--probe-auto-english ()
"使用下面的规则自动切换中英文输入:
1. 当前字符为英文字符(不包括空格)时,输入下一个字符为英文字符
2. 当前字符为中文字符或输入字符为行首字符时,输入的字符为中文字符
3. 以空格为界,自动切换中文和英文字符
即,形如 `我使用 emacs 编辑此函数' 的句子全程自动切换中英输入"
(if (> (point) (save-excursion (back-to-indentation) (point)))
(if (looking-back " +" 1)
(looking-back "\\cc +" 2)
(not (looking-back "\\cc" 1)))))
(defun +rime--beancount-p ()
"当前为`beancount-mode',且光标在注释或字符串当中。"
(when (derived-mode-p 'beancount-mode)
(not (or (nth 3 (syntax-ppss))
(nth 4 (syntax-ppss))))))
(defun +rime--evil-mode-p ()
"检测当前是否在 `evil' 模式下。"
(or (evil-normal-state-p)
(evil-visual-state-p)
(evil-motion-state-p)
(evil-operator-state-p)))
(defun +rime--english-prober()
"自定义英文输入探针函数,用于在不同mode下使用不同的探针列表"
(if (derived-mode-p 'telega-chat-mode
'text-mode)
(+rime--probe-auto-english)
(or (+rime--probe-dynamic-english)
(rime--prog-in-code-p)
(+rime--beancount-p))))
(setq rime-disable-predicates '((lambda () (button-at (point)))
+rime--evil-mode-p
+rime--punctuation-line-begin-p
+rime--english-prober))
我试过Dropbox,感觉不好用。现在直接用iCloud, 还不错。 Windows 和Mac系统共享方便,org app 用的是beorg,因为它支持iCloud。
可能就是Linux上要共享iCloud 有点麻烦,还没去弄,不过应该是可以实现的。
可以整理一下开一个PR
刚写完,用两天试试,有用好用的话就提 PR
学习了。。。
添加了一个自动激活 inline ascii 模式的功能。
这是一个用空格来切换的效果。
配置了段相对复杂点的断言,可以连续输入下面的例子,全程只用空格和回车上屏:
😃 测试中英文切换 test test test “包括标点符号” /include punctuations/ 效果相当完美!!! "Yes, it's so cool!" 测试完毕。请给小花,谢谢。 Thanks a lot!🎴
https://github.com/cnsunyour/.doom.d/blob/develop/modules/cnsunyour/chinese/%2Brime-probe-english.el
哈哈,在emacs里面也能这么顺滑使用五笔了,爽。。。
刚刚用了一下,非常的流畅,UI用色也不错,提一下意见哈:
- 怎么默认试用简体?
- posframe的face有哪些?文档可以写一下,想把字体调大一点
中草了,准备从pyim切换过来。
方案和简繁体设置在系统 rime 里。我猜测你 emacs-rime 默认是用的 rime 本身的“共享目录”,可以把 rime 的“用户目录”设到 rime-share-data-dir
里,直接应用 rime 的设置,可以保持和系统 rime 几乎一样的输入体验。