请教一下,我用的是spacemacs,在additional package里添加了sis,
在user-config里配置了 通过命令执行 sis-set-other sis-set-english 都可以正常切换输入法。 但是在具体的文本汉语中插入模式后,没有调用切换切换输入法 大概的问题会出在哪个方向呢可能需要在前面加上 (require 'sis)
试试,或者你直接把 README 中 use-package 那整一段拿过来。
没错没错 完美解决 感谢
readme 里面专门有这么一句话:
For spacemacs
, if it works in the hybrid
mode, some of the evil
related features may not work. Change to vim
mode instead.
嗯嗯,按照readme重新弄好了。现在有了一个小问题,刚开始用起来一切正常。 没过一分钟就突然卡住,具体表现是要么输入的时候不断重复之前的输入的某一个字母,要么在normal state不识别按键,比如 ijk等等。 在卡之前会出现,拼音候选词刷出不来,不知道是不是输入法的问题。
这个应该不是sis的问题,论坛也有别人遇到,你可以搜下
找到了Windows下面直接的接口 ,顺便稍微写了一下函数 #+begin_src elisp (defun emacs-ime-disable () (interactive) (w32-set-ime-open-status nil)) #+end_src
#+RESULTS: : emacs-ime-disable #+begin_src elisp (defun emacs-ime-enable () (interactive) (w32-set-ime-open-status t)) #+end_src
能否内置一下,或者有什么办法可以自定义一下配置 im-select 有点慢,卡卡的
请问下,windows下小狼嚎输入法如何设置啊
我用这个设置,目前主要用朙月拼音,以前用过一段时间五笔。
拷贝到 C:\Users\<你的用户名>\AppData\Roaming\rime
下就可以 了。
然后重现部署小狼毫。
至于 sis 的配置,在 Emacs 28 以后的版本,sis 默认支持通过 w32-set-ime-open-status
切换输入法的状态。操作系统只要保留小狼毫这个一个输入法就可以了,英文键盘也不需要了。
ok,感谢。
client 下sis失效 环境windows10 vanilla emacs 使用use-package 有人遇到相同的情况吗
我 Mac Vanilla Emacs 配置了也无效,也是 use-package
而且是正常启动没问题,主要是client启动就有毛病了
请教一下怎么设置 sis-prefix-override-keys
以增加 ESC ESC
作为前缀的快捷键?我有不少快捷键设置的类似 ESC ESC a
这样。
试了下 \e
, ESC
, C-[
, escape
都不行。。。
【更新】:解决了,需要放在 (sis-global-respect-mode t)
之前执行。
(push "\e\e" sis-prefix-override-keys)
提个小需求:现在 sis对 evil-mode normal-state/insert-state 支持很好,可以把 emacs-state 也支持上吗?
我是 doom用户,配置了 hybird 模式,编辑操作是用 emacs-state
(defalias 'evil-insert-state 'evil-emacs-state)
(after! evil-escape
(setq evil-escape-excluded-states '(normal visual multiedit motion)))
用了 org-starter 和 hydra 来快捷进入 agenda 文件。当按下 C-c e
的时候 e 仍旧是中文,后来我把 C-c e
加入到 sis-prefix-override-keys 当中后可以了,但是 C-c e j
的时候,j 依旧是中文,是我配置不正确,还是需要其他的配置。已用 minimum emacs setup for Emacs plugin testing · GitHub 最小配置 emacs -Q 测试过,可以复现。
org-starter 和 hydra 配置如下:
(use-package org-starter
:config
;; (add-hook! 'after-init-hook 'org-starter-load-all-files-in-path)
(org-starter-def "~/Dropbox/org"
:files
("agenda/inbox.org" :agenda t :key "i" :refile (:maxlevel . 2))
("agenda/work.org" :agenda t :key "w" :refile (:maxlevel . 2))
("agenda/technical-debt.org" :agenda t :key "t" :refile (:maxlevel . 2))
("agenda/personal.org" :agenda t :key "p" :refile (:maxlevel . 2))
("agenda/books.org" :agenda t :key "b" :refile (:maxlevel . 2))
("agenda/someday.org" :agenda t :key "s" :refile (:maxlevel . 2))
("agenda/agenda.org" :agenda t :key "a" :refile (:maxlevel . 2))
("agenda/note.org" :agenda t :key "n" :refile (:maxlevel . 2))
("daily/journal.org" :agenda t :key "j" :refile (:maxlevel . 2))
)
;; hydra
(require-package 'hydra)
(defhydra hydra-org-agenda-menu (:color blue)
"
Org-agenda-menu
^^^^------------------------------------------------
_i_: inbox.org _w_: work.org _t_: technical-debt.org
_b_: books.org _a_: agenda.org _p_: personal.org
_n_: note.org _s_: someday.org _j_: journal.org
"
("i" org-starter-find-file:inbox)
("w" org-starter-find-file:work)
("t" org-starter-find-file:technical-debt)
("p" org-starter-find-file:personal)
("b" org-starter-find-file:books)
("n" org-starter-find-file:note)
("s" org-starter-find-file:someday)
("a" org-starter-find-file:agenda)
("j" org-starter-find-file:journal)
):bind("C-c e" . hydra-org-agenda-menu/body)
)
然后 sis 的配置如下
(require-package 'sis)
(use-package sis
:config
(setq sis-english-source "com.apple.keylayout.ABC")
(sis-ism-lazyman-config
"com.apple.keylayout.ABC"
"im.rime.inputmethod.Squirrel.Rime" 'macism)
;; enable the /cursor color/ mode
(sis-global-cursor-color-mode t)
;; enable the /respect/ mode
(sis-global-respect-mode t)
;; enable the /context/ mode for all buffers
(sis-global-context-mode t)
;; enable the /inline english/ mode for all buffers
(sis-global-inline-mode t)
;; not delete the head spaces
(setq sis-inline-tighten-head-rule nil)
(setq sis-default-cursor-color "brown3")
(setq sis-other-cursor-color "orange")
(setq sis-prefix-override-keys (list "C-c" "C-x" "C-h" "C-c e"))
(add-hook 'org-capture-mode-hook #'sis-set-other)
:ensure)
(sis-global-inline-mode t)
开启后你们是那种光标移动会根据上下文消息判定中文还是英文吗?目前是需要输入一个字符来判定,实现不了那种移动光标自动切换的需求,下面是我的配置
(use-package sis
:ensure t
:init
;; `C-s/r' 默认优先使用英文 必须在 sis-global-respect-mode 前配置
(setq sis-respect-go-english-triggers
(list 'isearch-forward 'isearch-backward) ; isearch-forward 命令时默认进入
sis-respect-restore-triggers
(list 'isearch-exit 'isearch-abort)) ; isearch-forward 恢复, isearch-exit `<Enter>', isearch-abor `C-g'
:config
(setq sis-english-source "com.apple.keylayout.ABC")
(setq sis-other-source "com.sogou.inputmethod.sogou.pinyin")
;; (sis-ism-lazyman-config
;; "com.apple.keylayout.ABC"
;; ;; "com.apple.inputmethod.SCIM.Shuangpin" ;; 苹果自带双拼输入法
;; "com.sogou.inputmethod.sogou.pinyin" ;; 搜狗输入法
;; )
(sis-global-cursor-color-mode t)
;; enable the /respect/ mode buffer 输入法状态记忆模式
(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) ; 中文输入法状态下,中文后<spc>自动切换英文,结束后自动切回中文
;; (global-set-key (kbd "M-<spc>") 'sis-switch) ; 切换输入法
;; 特殊定制
(setq sis-do-set
(lambda(source) (start-process "set-input-source" nil "macism" source "30000")))
(setq sis-prefix-override-keys (list "C-c" "C-x" "C-h" "C-c e"))
(add-hook 'org-capture-mode-hook #'sis-set-other)
(setq sis-default-cursor-color "#02C389" ; 英文光标色
sis-other-cursor-color "#F95B5B" ; 中文光标色
sis-inline-tighten-head-rule 'zero ; 删除头部空格,默认1,删除一个空格,1/0/'all
sis-inline-tighten-tail-rule 'zero ; 删除尾部空格,默认1,删除一个空格,1/0/'all
sis-inline-with-english t ; 默认是t, 中文context下输入<spc>进入内联英文
sis-inline-with-other t) ; 默认是nil,而且prog-mode不建议开启, 英文context下输入<spc><spc>进行内联中文
)
自己定义这个变量:
(defvar sis-context-hooks
'(evil-insert-state-entry-hook)
"Hooks trigger the set of input source following context.")
emacs 原生模式也支持吗 ?
windows emacs daemon 启动会导致 crash 有人遇到过不?