我这个截屏,
是在* 我是
之后,
按alt-enter 然后进行输入
还是中文啊。
你要描述详细一点:
- 某个按键之前,上下文是什么样子,截屏
- 某个按键之后,是什么样的期望,但却是什么样的表现。
我这个截屏,
是在* 我是
之后,
按alt-enter 然后进行输入
还是中文啊。
你要描述详细一点:
初始处于normal state的状态下 输入法为英文状态。
这个时候在这个光标所在的headline下 按ctrl enter
新建headline并进入insert state,期望的是输入法自动切换到中文,但实际却是英文输入法的状态
按org-capture的快捷键,新建一个capture,自动在headline进入insert state,期望的是输入法自动切换到中文,但实际却是英文输入法的状态
嗯。这回彻底明白了。
目前只能强行指定中文,但这种方式不适合你编辑英文文档。
参见
我有计划在这块增加predicate,让用户自己决定如何切换。
不过还没有做。
感谢您的快速回复 我试试看
但我在正文的输入的状态下,中英文切换是没有问题的
我刚才测试了下 在中英文混编的句子里 从normal切换到insert的状态下 会根据光标所在位置的中英文自动切换
新增:sis-follow-context-detectors
用户可以自定义上下文检测子。
此处需要原生emacs用户的帮助:
注意::::::::此贴已废弃,
请移步到新帖:
我之前用emacs-mac,眼馋xwidget换成了emacs-plus@27,一样的配置可是sis不起作用了,请问可能是什么原因呢?
可以的。我现在就用的是emacs-plus@27
你要装一下macism(见sis的readme)。
emacs-mac原生支持输入法切换。
但是emacs-plus需要通过macism这个工具来帮你切换输入法。
相关的配置是自适应自动检测的,你不用改配置。
另外,如果你的sis更新了的话,记得看一下范例配置。
比如sis-follow-context-mode重命名成sis-context-mode了
啊谢谢,没有看到readme前半部分,谢谢!
目前的插件运行的非常的好,但是在org agenda view的状态下,还是中文法输入的状态,比较麻烦,不知道怎么处理,个人配置如下:
(sis-ism-lazyman-config “1033” “2052” 'im-select)
;;为了方便在org mode方便输入中文,尤其是在org-capture的状态下,设置成other
(setq sis-context-fixed 'other)
;; enable the /cursor color/ mode
(sis-global-cursor-color-mode t)
;; enable the /respect/ mode
(sis-global-respect-mode t)
;; enable the /follow context/ mode for all buffers
(sis-global-context-mode t)
;; enable the /inline english/ mode for all buffers
(sis-global-inline-mode t) )
定制 sis-context-detectors
即可。
实际上 sis-context-fixed
只是一个傻瓜化配置。
(defvar sis-context-detectors
(list (lambda (&rest _) sis-context-fixed)
(lambda (back-detect fore-detect)
(when (sis--context-english-p back-detect fore-detect)
'english))
(lambda (back-detect fore-detect)
(when (sis--context-other-p back-detect fore-detect)
'other)))
"Detectors to detect the context.
Each detector should:
- have two arguments:
- back-detect: which is the result of (sis--back-detect-chars).
- fore-detect: which is the result of (sis--fore-detect-chars).
- return one of the following values:
- nil: left the determination to later detectors.
- 'english: English context.
- 'other: other language context.")
oh…
你只是要在进入capture的时候,自动设置中文输入法么?
那不用定制那个变量的方法,
在sis 的配置中,加入这一句这个就行了:
(add-hook 'org-capture-mode-hook #'sis-set-other)
好了,非常感谢!
又碰到一个新问题,请教下 在调用helm-org-agenda-files-headings来在agend files的headline之间进行跳转的时候,sis似乎导致了问题,举例如下,有三个headline分别为
test a 测试
test b 测试
test c 测试
如果我调用helm-org-agenda-files-headings来进行跳转的时候,在minibuffer输入的时候
如果通过英文搜索,我输入 test和空格键 再加上 a或b或c的时候,可以顺利的搜索到相关条目,然后按enter就跳转到相关条目上去
但如果通过中文搜索, 我输入“测试”和空格键的时候 再加上 a或b或c的时候
它会搜索到相关条目,但是当我按enter键的时候,它的反应是把中间的空格键删除,然后停在那里没有进行跳转,这个时候我再来一次,也可以跳转了。
是sis-inline-mode的原因,而且是期望中的行为。
这个mode是为了中英文混合输入的自动切换。
你中文后面加空格,就触发了inline mode,
输入完英文,回车或者双空格,关闭inline mode,并删除头尾的一个空格。
其中,回车和双空格的效果不一样,并且是否删除头尾空格等很多方面,都可以配置。
默认配置下,你可以通过在测试
后面输入两个空格
来自动切换到英文,
这样关闭inline mode时,测试
后面还有一个空格。
默认配置下的行为,readme中有详细的图解。
另外,你可以只在prog mode和text mode中启用inline mode
见readme中的范例config: GitHub - laishulu/emacs-smart-input-source: Less manual switch for native or OS input source (input method).
看到我修改后的回复了么?
收到 配置就不改了 直接回车解决了