(重新设计)中英文混打:OS输入法管理包 smart-input-source

@xiaolaoc

  1. setq改成setq-default
  2. 请确保更新到最新版。

因为新版改动很大,这不是重新开贴了嘛,
见README

可能是包没有载入完全,又启动试了几次没有问题了,非常好用 :+1: :+1:

谢谢~ 新版本这个smart-input-source-global-auto-english-mode目前也挺好用的 :+1:

花了快一天时间,终于更新了。非常好用,感谢。

有一个小点,当遇到全角空格时,仍然默认是英文,建议把全角空格也当作中文。

什么是全角空格?占两个格的空格么?
我竟然不知道啊~~~
搜狗输入法中文状态输入空格也没有这个。

更新就是简单一条命令啊,为什么要花一天时间呢?

另外,看你过往的回复,你平时要大量处理中文
我正在写这个包 请问:有没有集成到evil-search中pinyin搜索方案? - #7,来自 goumao
写完申请进melpa估计得一些时间。

我觉得,对你可能很有用。

1 个赞

把输入法设置到「全角、半角」形态,比如标点符号有全角半角之分,「,。,.」,空格也有「 和 」的不同。

全角空格,真的找到了。谢谢!
我一会改下,不过等melpa更新,还需要2个小时左右。

更新是一条命令,但网络不畅通,什么curl,git,brew,mepla,都是龟速,而且经常段,需要反复重新执行。

emacs带给的不好体验,多数是安装、升级的网速慢和不稳定的原因。

谢谢推荐,不过我用的输入法是双拼或者仓颉,这是全拼用的。

基本上都是处理中文,所以用emacs挺不容易的,输入中文的问题曾经让我放弃emacs好一段时间,非常感谢这个插件,非常好用。

不是的,跟输入法没关系,
只要输入汉字本身的首字母就可以了。

比如图中的「小说」:

用全拼输入时键盘输入是「xiaoshuo」,搜索的缩写是「xs」。

用双拼输入时键盘输入是「xcuo」,搜索的缩写是「xu」。

我知道啊。
但是,你在evil的normal模式下,输入/xs,就能找到小说了。
搜索发生下英文输入法状态下,跟中文是什么输入法没关系。
其原理,是根据汉字本身的全拼的首字母来的。

如果有人做了双拼的码表,也可以按照双拼的首字母来。
这个码表是mode自带的,跟外面的输入法没关系。

我仔细考虑一下,还是不采纳这个建议。
因为全角空格,在显示上,和在语义上,都是当作空格来的。
只不过是中文的空格。

如果把它当成普通的中文来处理,
会带来逻辑上的不一致,用户会很迷惑。

另外一点,需要感谢你的是:
全角空格也应该触发 inline english。
我已经把这块加进去了。

如果你主要是编辑中文文档,英文很少的话,
我的建议是,不要开下面这两个mode:

smart-input-source-follow-context-mode
smart-input-source-inline-english-mode

不过,这倒是提醒了我: 如果evil模式下,编辑纯中文文档,
即使不加入那两个mode,
每次进入insert模式,
也必须手工切换到中文输入法。
这个就很烦了。

我会要加一个选项
进入insert时,输入法是:
中文,英文还是上下文。

嗯,有双拼码表会习惯一些,不过,有这个插件了,输入中文已经不再麻烦了。

全角空格现在通常很少用到了,因为默认输入不了它,一般只有比较考究的中文输入时,才会用到,比如在段前空两格,这两个格通常用全角空格,以避免文字对不整齐。

我加了个选项 ,加入下面的配置

(setq-default smart-input-source-fixed-context smart-input-source-OTHER)

则在开了smart-input-source-follow-context-mode 的情况下,
从normal模式进入到插入状态时,默认输入法会是中文。

(那你用别的一样体验不好啊

你可以用国内的 melpa 镜像源,git 可以配置全局的 git 代理

很好用,用上了 :+1:t2: 就是 company 自动补全的时候遇到了点小问题,inline 英文模式下的自动补全回车之后不会上屏。如图:

Peek 2020-06-17 14-24

这个是哪里需要配置么?

compnay 的话,我这里没有问题啊。
代码里是有这块的处理的

有用户报刚打开的时候有问题:
可能是刚打开emacs,package没有载入完全。
后来就好了。

不知道你那边是什么情况。


@BlindingDark

我观察到:你那个补全,后面有tips展开。
我再看看,是不是那边需要特别处理

请帮我查看,那种状态时,运行:
(company--active-p),我想看输出结果
如果能录个gif更好。