win7 + emacs26.3 + RIME+im-select.exe 表现完美!!!如果各个平台都表现完美,gayhub上怎么也得拿500颗星星吧。等稳定了可以把中文说明也搞一下
感谢大佬
win7 + emacs26.3 + RIME+im-select.exe 表现完美!!!如果各个平台都表现完美,gayhub上怎么也得拿500颗星星吧。等稳定了可以把中文说明也搞一下
感谢大佬
基本上没有什么大的功能计划了,只是一些小fix了。
报告:
org-capture 写完内容C-c C-c 后。
回到原来的文件,如果原来的文件是汉语,normal模式仍然是汉语。
C-c C-c 之前,是汉语输入法,还是英语输入法?
是根据这个来的。
跟是不是normal 模式没有关系。
然后 exit insert state
的时候,会自动切英语。
如果C-c C-c 从insert切换到了normal,
那就是先自动切英语,然后自动恢复C-c C-c前的汉语。
如果是这种情况的话,我想一个办法,可以让你控制。
配置中
所有的 smart-input-source-inline-english-*
都需要去掉english
,变成smart-input-source-inline-*
原因是,
增加了个可选特性(默认关闭):
英文上下文中,SPC SPC 激发在线中文区域。
两者可以同时启用。
;; 默认是t
(setq-default smart-input-source-inline-with-english t)
;; 默认是nil,而且prog-mode不建议开启
(setq-default smart-input-source-inline-with-other t)
evil下,想执行命令,一般需要切为normal模式。
normal模式下,一般不需要中文输入。
如果上面假设成立,可否硬性设置为:只要当前文件是normal模式,一概都改为英文状态?
谢谢!
可以加这个判断。
直接粗暴加判断,可能会使其他操作出现不期望的行为。
因此,我需要更清楚地知道你的操作过程:
doom evil下正在用汉语编写a文件时,进入nomal模式,按SPC n n,进入org-capture,输入中文内容,完成输入后,C-c C-c
,退回a文件。a文件仍是normal模式,输入法继续为中文模式。
在config里面加入下面的语句就行了
(push 'org-capture smart-input-source-preserve-save-triggers)
意思就是spc n n切换了buffer,这个时候,
应该在这命令前记住原来的buffer里面的input source
你要是打开smart-input-source-hint-mode
的话,能看到下面的提示:
Loading /Users/mao/.site/init.el (source)...done
Doom loaded 230 packages across 58 modules in 1.761s
Smart-Input-Source-Preserve-Hint mode enabled
Loading /Users/mao/.emacs.d/.local/cache/recentf...done
Starting new Ispell process /usr/local/bin/ispell with default dictionary...
Undo-Fu-Session discarding undo data: file length mismatch
Clipboard pasted as level 4 subtree
!! cmd [org-capture] switched a.txt to CAPTURE-journal.org, add it to ‘save-triggers’?
Wrote /Users/mao/org/journal.org
"journal.org" 16L, 454C written
Smart-Input-Source-Preserve-Hint mode disabled
成功,原来这就是之前说的大杀器。谢谢
你开respect mode,别的不开。
不过 cusor color mode,我还是建议开的。
这样,C-x, M-x等的时候,自动切到英文。
返回的时候,
原来的buffer是什么输入法,就恢复到什么输入法。
这个包整的太复杂了,我试了第三次还是没搞懂怎么用。
我的用法: 一个快捷键切换local buffer的输入法状态,Emacs内置快捷键切换Buffer后,每个Buffer保持各自的输入法状态
完成这个需求要怎么设置?
自己绑定 smart-input-source-switch
这个command就可以了。
smart-input-source-global-respect-mode
。smart-input-source-save-triggers
内置了一些命令。用这些命令切换,每个buffer各自的输入法都是可以记住的。smart-input-source-hint-mode
,重新操作一下,这个mode会提示你,哪些命令可能需要自己通过配置加到smart-input-source-save-triggers
里去。@manateelazycat 猫哥,你可以参考下我的配置,因为我Emacs就是基本上用的你的emacs配置,我测试过Mac 正常使用,Linux应该没问题。
(when (eq system-type 'darwin)
(setq smart-input-source-english "com.apple.keylayout.ABC")
(setq-default smart-input-source-other "im.rime.inputmethod.Squirrel.Rime"))
;; enable the /respect/ mode
(add-to-list 'smart-input-source-prefix-override-keys "C-z")
(add-to-list 'smart-input-source-prefix-override-keys "s-x")
(add-to-list 'smart-input-source-preserve-save-triggers 'awesome-tab-backward-tab)
(add-to-list 'smart-input-source-preserve-save-triggers 'awesome-tab-forward-tab)
(add-to-list 'smart-input-source-preserve-save-triggers 'awesome-tab-backward-group)
(add-to-list 'smart-input-source-preserve-save-triggers 'awesome-tab-forward-group)
(smart-input-source-global-respect-mode t)
(add-to-list 'smart-input-source-preserve-save-triggers 'smex+)
;; enable the /follow context/ and /inline english/ mode for all buffers
;; (smart-input-source-global-follow-context-mode t)
;; (smart-input-source-global-inline-english-mode t)
;; Input source specific cursor color
(add-hook 'smart-input-source-set-english-hook
(lambda ()
(setq current-input-method nil)
))
(add-hook 'smart-input-source-set-other-hook
(lambda ()
(setq current-input-method "rime-smart")
))
我刚刚把 bury-buffer 和 unbury-buffer 加到 smart-input-source-save-triggers 里面并没有记住buffer的输入法状态。
而且我认为 smart-input-source-save-triggers 的这种实现方式太复杂了,提供一下我的思路:
按照第三步的设计,这样不论什么命令,只要切换了Buffer都会自动切换输入法状态,完全可以去掉 smart-input-source-save-triggers 这种设计了。