谢谢 好了,emacs 这个错误捕捉 看不懂。
magit 没问题 C-x b
等都正常
Saving file c:/Users/John/Desktop/a/a.txt...
Wrote c:/Users/John/Desktop/a/a.txt
Mark set
Default directory for buffer <a.txt> is missing, now set to ’~’
谢谢 好了,emacs 这个错误捕捉 看不懂。
magit 没问题 C-x b
等都正常
Saving file c:/Users/John/Desktop/a/a.txt...
Wrote c:/Users/John/Desktop/a/a.txt
Mark set
Default directory for buffer <a.txt> is missing, now set to ’~’
所以,这两个问题都解决了?
对 暂没有发现别的问题
从 melpa package-install 安装包后 ,启动Emacs出现 下面错误, 直接使用git version的时候没有错误,怀疑是编译elc后出现的问题??
Error (use-package): smart-input-source/:config: Symbol’s function definition is void: -auto-refresh-mode
这是你配置里忘了加前缀吧
最新版也复现了。
输入 :%s/某甲/某乙/g 时,我并不是从头至尾输入的,而是先输入:%s///g,然后切换倒中文,输入「某甲、某乙」,此时状态是中文,然后执行后,自动回到正文中。
此时是evil normal模式,是中文状态。
终于做进去了:smart-input-source-ism-lazyman-config
找到原因了,会解决的。
我今天又elpa安装了一下,这次 smart-input-source-20200716.1719/smart-input-source.el
文件没有被编译elc,启动正常。如果编译成elc的话就会出错,感觉是因为里面使用 names 包的缘故,编译时找不到时前缀,导致后缀的名称(如 -auto-refresh-mode)不能被识别
你是quelpa 安装吧?
多个用户报告,会有问题。
直接git,或者melpha,都没问题。
我知道git 没问题,因为没有编译成elc文件,就不会出问题,我用melpa安装的,有时候会自动编译成elc就会出问题,
另外我试了下 smart-input-source-ism-lazyman-config
在 :init 字段使用
(smart-input-source-ism-lazyman-config "1033" "2052" 'im-select)
会出错,感觉还是因为 names 包的问题,变量/函数没有找到
我用原来的配置,感觉也不是很懒人,就是变量名长了点
,可以考虑将 smart-input-source 弄个alias 如 sis
,看着短小点
;; commit d9ac047
(use-package smart-input-source
:init
(setq smart-input-source-external-ism "im-select.exe"
smart-input-source-english "1033" ; 英文
smart-input-source-other "2052" ; 中文
smart-input-source-default-cursor-color "green yellow" ; 英文光标色
smart-input-source-other-cursor-color "magenta" ; 中文光标色
smart-input-source-inline-tighten-tail-rule 'all ; 删除尾部空格,默认1,删除一个空格,1/0/'all
smart-input-source-inline-with-english t ; 默认是t, 中文context下输入<spc>进入内联英文
smart-input-source-inline-with-other t) ; 默认是nil,而且prog-mode不建议开启, 英文context下输入<spc><spc>进行内联中文
:config
(smart-input-source-global-cursor-color-mode t)
(smart-input-source-global-respect-mode t)
(smart-input-source-global-follow-context-mode t)
(smart-input-source-global-inline-mode t)
)
我研究一下,可能这就是quelpa出问题的原因。
我记得,melpa编译elc也不会出问题啊,你这会出问题?
我一直在后悔呢~~~想给改成sis
刚才将sis,names,termiXXX 都删除了 ,重新mepla安装,还是会出问题, 进入 elpa/sis 里将 .elc 文件删掉就没问题
感觉使用 names 后,代码看着怪怪的,干脆全替换了 ,省掉这个依赖,并且这时可以将个别需要配置的长变量改成别名形式不就省事一些
这个是个bug
不关evil normal
的事。
不应该出现的。
从minibuffer退出来,应该恢复之前的输入法
已经fix了。
捉bug不容易捉全。
建议:无论执行任何命令,在焦点回到正文之时,先判断是否为normal模式。如果是,则必然是英文状态。
现在就是这样的。
你描述的规则,只是现在的设计的一个子集。
你去执行命令之前,必然要先到normal模式,normal模式就是英文的。
然后呢,现在你执行任何命令(不局限于你的替换的场景)结束之后,
都会恢复原文档的输入法,当然就是英文的。
如果有问题,那就是有bug,就必须要从根上解决掉。
做个简化版的动机在什么地方呢?
其实主要是方便修改