好了,
当前buffer 中文时, C-h v
进入 help buffer 那个也变成默认英文了
就差 C-x o
C-x b
C-h v
激活输入法,但是不输入中文时,用户可以使用任何Emacs快捷键而不被输入法吃掉了, 期待。。
好了,
当前buffer 中文时, C-h v
进入 help buffer 那个也变成默认英文了
就差 C-x o
C-x b
C-h v
激活输入法,但是不输入中文时,用户可以使用任何Emacs快捷键而不被输入法吃掉了, 期待。。
加了个 smart-input-source-switch
函数。
可以手动切换了。
嗯。放心,不会超过两天。
这个方案越来越好用了。刚在Windows系统通过im-select.exe配置成功。
请问下如果我希望根据当前输入法状态设置光标的颜色能做到吗? 比如红色代表英文输入法,黄色代表中文输入法。这样我在全屏状态下就可以根据光标颜色识别当前的输入状态了。
本package自己切换的话,很容易实现。
如果是你通过系统切换的话,本package是不知道的,
但可以搞成这样:
smart-input-source-switch
我觉得你说的方案可行,通过smart-input-source-switch 切换也挺好。
我这里使用了 auto-complete 补全, 不知道这是什么情况,时不时会出现下面这种情况, inline-english 标记在补全时特别长且宽?
哈哈,怎么配置的啊,能参考一下不。
我记下了,抽空本地复现一下,然后解决。
我知道什么时候出现了, 光标位置在中文最后一行且最后一个汉字的时候,
inline英文时,触发补全的时候才会出现, 注意左边的 fringe
我这里就是 有一会儿没一会儿的 现在又完全正常 , 还是刚才的同样的buffer 不知道到底哪儿引起的,你是用的 auto-complete 吗 我没有用 posframe这样的额外包
我不清楚。我company就是doom自带的配置。
我刚才看了下,doom也没有配置posframe啥的。
我先记下了,
等功能都实现了,我来研究到底是什么冲突了。
我打开 white-space 看了看发现是文件换行符?的问题,当我光标在最后一行 C-n 的时候默认进入到下一行但是没有加入换行结束符? ,这样我录入汉字的时候文件结尾 才会触发这个问题,正常情况下是有$这个换行结束标记的。
有时候是 C-k
在结尾的时候把 换行符给kill掉才出现的, 这种情况怎么才能避免 有个就是想kill掉最后一行多余的空格导致这个标记被删除了,
OK。找到问题,那一定能搞定。
不过这个优先级低一些,我先放一放。
我就是参考的emacle的配置改成适配自己的。 你从github把smart-input-source的仓库下载下来放到你Emacs的load-path下,然后用下面这段代码就能正常运行了。还要下载一个im-select.exe 文件,直接丢到你的emacs 安装目录的bin下就行,不然你得自己要设置下环境变量,只要命令行能找到它就OK。
(require 'smart-input-source)
(when (eq system-type 'windows-nt)
(setq smart-input-source-external-ism "im-select.exe")
(setq smart-input-source-english "1033")
(setq-default smart-input-source-other "2052"))
(smart-input-source-global-auto-english-mode t)
(smart-input-source-global-preserve-mode t)
(dolist (hook '(text-mode-hook prog-mode-hook org-mode-hook))
(add-hook hook #'smart-input-source-follow-context-mode))
(dolist (hook '(text-mode-hook prog-mode-hook org-mode-hook))
(add-hook hook #'smart-input-source-inline-english-mode))
真的感谢,我去试试。话说1033 2052这两个值是怎么知道的。
你在CMD终端执行im-select.exe
命令,就可以获得当前输入法的代码,切换输入法再执行一次就得到另一个值。
我这里英文是1033,中文(rime)是2052.
另外提醒一下,中文语言中只保留一个中文输入法,不然im-select.exe没法正常工作。
我咋执行之后得到的是个0。