goumao
2020 年6 月 23 日 10:58
305
我发现:
我这边 C-x, b是正常的。
但是C-x, o是错的
我先把我这里fix掉,
估计你那边的也会好。
明白了。
C-x, b是切换buffer
C-x, o是切换window
我这里,命令行other-window
可以,
但是用鼠标点来切换window,也是不行的。
是因为我用C-x,o ,实际上是调用 aw-switch-to-window
而这个函数没有被我advice
当前的机制,
要把所有的这种切换手工加到 preserve-triggers里。
=====
我前面在实验底层机制,
但是那个必须要设计好,否则太影响性能,
因为很多切换是不必要的。
这个是通用的,看来问题可以归结为,切换buffer 不正常,切换window 已经正常了。
elpa更新后smart-input-source-20200623.725
,evil插入都不自动切换中文了…嗨…
回退哪个版本啊?才是老版本…,功能越多反而不好…其他花哨功能没啥用,我只要中英文切换~
goumao
2020 年6 月 23 日 15:40
310
@smr1113
新版本的,有些函数和变量的名字改了。
你对着readme重新改一下配置。
(setq smart-input-source-english-input-source "1")
应该改成
(setq smart-input-source-english "1")
smart-input-source-do-get-input-source
应该改成
smart-input-source-do-get
感谢楼主这个中英文自动切换功能,平常的工作中能够需要进行大量的中英文混打,
Insert 和 Normal模式的切换终于不用那么蛋疼了,
使用环境:
win10 2004
WSL2 Ubuntu
Emacs Gui版本
Ibus-Rime
emacle
2020 年6 月 24 日 03:13
312
刚才又使用今天最新git 版本,只有 C-x b
的时候不能记录输入法状态,C-x o
的时候正常,
C-x b
绑定 (ido-switch-buffer)
使用 M-x ido-switch-buffer
切换buffer的时候也可以记录输入法状态,只是使用这个绑定按键的时候不会记录
好吧,编程必须对接口稳定啊。。。叫我这都不敢update了。。。
goumao
2020 年6 月 24 日 08:25
316
激动人心的时刻到来了!
配置中按需加入:
(push 'YOUR-COMMAND smart-input-source-preserve-save-triggers)
(push 'YOUR-COMMAND smart-input-source-preserve-M-x-commands)
当输入法不能正确恢复时,
直接在emacs中,
打开 smart-input-source-preserve-hint-mode
,
重做不能正确恢复输入法的操作,
然后打开message buffer
就能看到了哪些命令要push
到那两个list中了。
等功能差不多稳定后,
我会收集常见的command加到默认值里去,
这样用户大体可以开箱即用。
不兼容性更改
smart-input-source-prefix-
和 smart-input-source-preserve-
开头的变量。
更新
(2020-06-24T16:36:44+08:00) 别急,有bug
emacle
2020 年6 月 24 日 08:44
317
迫不及待。。。 刚才试了下
(push 'ido-switch-buffer smart-input-source-preserve-save-triggers)
(push 'ido-switch-buffer smart-input-source-preserve-M-x-commands)
可以恢复输入法状态
但是 在中文状态 下 C-x b
的时候b 还是会被输入法截获,需要多按一次回车
中文buffer里 按下 M-x
也不会自动切换成英文输入
goumao
2020 年6 月 24 日 08:57
318
这次改bug就行了,
问题不大。
M-x我这里可以,
C-x, b,我这里第一次可以,后来就不行了
现在都是小问题了,容易搞定。
以前相当于在第二层搞
后来尝试在第一层搞
现在挪到第三层搞
需要手工配置那两个列表,
但是更可靠,而且无用的切换更少。
大问题都解决了,
剩下都是小问题。
goumao
2020 年6 月 24 日 09:50
320
你这个配置是错的。
这个是你的M-x
所绑定的命令。
本package在这个命令起来时,会切换到english
你打开 smart-input-source-preserve-hint-mode
运行一下 M-x
,能看到提示。
emacle
2020 年6 月 24 日 13:54
323
不明白什么意思 我的 M-x
是绑定的 smex 命令
(push ‘smex smart-input-source-preserve-M-x-commands)
按下M-x 不会自动切换回英文
开启 Smart-Input-Source-Preserve-Hint mode enabled
按C-x o
没有信息输出,但是好像不能记忆状态
按C-x b
a buffer -> bbuffer -> C-x b
输出下面语句,但是现在这个快捷键是可以恢复输入法状态的
"!! cmd [ido-switch-buffer] opened minibuffer, add it to `M-x-commands'?"
"!! cmd [ido-switch-buffer] shift from buffer *scratch* to *Minibuf-1*, add it to `save-triggers'?"
"!! cmd [ido-switch-buffer] opened minibuffer, add it to `M-x-commands'?"
"!! cmd [ido-switch-buffer] shift from buffer .emacs to *Minibuf-1*, add it to `save-triggers'?"