设置8000 以上(试过10000,15000,20000)的值都没问题。
说明默认的值没有成功设置成20000?
确实很诡异,那我就暂时这样用了。多加一条配置而已。
报告问题:
1,在evil normal模式下,输入 :%s/某甲/某乙/g 替换命令时,命令执行之后,这时的normal 模式变为汉字。
2,在执行M-x 然后输入命令后,有的命令执行后,normal 模式变为汉字。比如:org-roam-db-build-cache命令。
再次建议:「 evil 的 normal 模式必然是英文模式」成为最高优先级,可以避免挂一漏万的情况。谢谢。
我复现了。。。。
这两天就搞这个事~~~
我先记下了~~
等后面确认
终于被我找到了~~~~
eaf 有三行代码代码,不是大家常见的写法。
改掉就行了。
不能复现。
请确认使用的是最新版。
你这个evil normal模式
在替换前,已经切了英文
原理上来讲,
漏掉切中文更可能些
多切了中文不太可能
magit-revision: buffer 不能使用 C-x 1
, C-x 0
, C-x b
我这边稳定复现了,只要光标位置在下图所列的 某些行
上,这些快捷键不能使用,大佬能帮忙分析下原因吗?
早先的git版本也是一样的效果。
不使用本包的情况下,那些快捷键是正常使用的
gif 操作如下
收到。
我再试试。
(setq-default smart-input-source-inline-with-other t) ; 默认是nil,而且prog-mode不建议开启, 英文context下输入<spc> <spc>
这个怎么不起作用了
-
当前输入法为EN,
abcdefg<spc><spc>
-
两次空格后 输入法还是EN,不是应该变为中文输入法吗?
使用git ed85128
我试试,看是不是最近的修改引入的bug
=== 更新 ===
嗯。fix了。
我没用过magit,
完了在doom里面打开log的话,不能复现,
跟你的界面不一样。
把你的最小配置给我,
我再试试看。
eaf/smart-input-source/yasnippet冲突的问题,
我已经彻底解决。
是eaf的一个bug
我已经提交PR了。
等合并完,
你用最新版的eaf,
就不会有问题了
=== 更新 ====
PR 已合并
emacs我用的原生的,magit 我也没怎么配置
(use-package magit
:bind (("C-x g" . magit)))
下面是log开启后,光标在两个不同位置按下 C-x b
再按下 C-g
的操作日志
正常情况下多了几行日志且保存了输入法状态。
Smart-Input-Source-Log mode enabled
post@[normal]: [[f9]]@key [smart-input-source-log-mode]@cmd [magit-revision: elpa]@buf [t]@override.
pre@[normal]: [^X]@key [smart-input-source--prefix-override-handler]@cmd [magit-revision: elpa]@buf [t]@override.
pre@[prefix]: [^X]@key [smart-input-source--prefix-override-handler]@cmd [magit-revision: elpa]@buf [t]@override.
Do set input source: [english]
Input source: [english] (saved) => [1033].
post@[prefix]: [^X]@key [smart-input-source--prefix-override-handler]@cmd [magit-revision: elpa]@buf [nil]@override.
pre@[sequence]: [^Xb]@key [ido-switch-buffer]@cmd [magit-revision: elpa]@buf [nil]@override.
post@[sequence]: []@key [ido-switch-buffer]@cmd [ *Minibuf-1*]@buf [nil]@override.
pre@[sequence]: [^G]@key [abort-recursive-edit]@cmd [ *Minibuf-1*]@buf [nil]@override.
Quit
post@[sequence]: []@key [abort-recursive-edit]@cmd [magit-revision: elpa]@buf [nil]@override.
Key sequence ended.
restore: [english]@[magit-revision: elpa].
Do set input source: [english]
pre@[normal]: [[f9]]@key [smart-input-source-log-mode]@cmd [magit-revision: elpa]@buf [t]@override.
Smart-Input-Source-Log mode disabled
====================上面是正常的情况=================
====================下面面是不正常的情况==============
Smart-Input-Source-Log mode enabled
post@[normal]: [[f9]]@key [smart-input-source-log-mode]@cmd [magit-revision: elpa]@buf [t]@override.
pre@[normal]: [^Xb]@key [nil]@cmd [magit-revision: elpa]@buf [t]@override.
C-x b is undefined
post@[normal]: [^Xb]@key [nil]@cmd [magit-revision: elpa]@buf [t]@override.
pre@[normal]: [^G]@key [keyboard-quit]@cmd [magit-revision: elpa]@buf [t]@override.
Quit
post@[normal]: []@key [keyboard-quit]@cmd [magit-revision: elpa]@buf [t]@override.
pre@[normal]: [[f9]]@key [smart-input-source-log-mode]@cmd [magit-revision: elpa]@buf [t]@override.
Smart-Input-Source-Log mode disabled
感觉应该是magit的问题,magit 我也不太懂,它的快捷键好像用什么 transient
,不知道是不是里面的 C-x
前缀有特别处理
从log来看,本package(这里记为sis)就没抓到前缀键。
应该是被被别的高优先级的给挡了。
但那种情况下,
[^Xb]
应该是原始的映射啊
但你说的,如果sis不开,又没有这个问题。。。
我查下magit的键映射吧,看看什么情况。
我查了下:
- 没用doom的配置,就用magit默认的,还是没有复现。
- magit的keymap机制看起来很简单。
你把你的完整的emacs配置给我。
我觉得不像sis的问题,也不像magit的问题。
如果emacs的配置不给我的话,
那你把出问题时的 (current-active-maps)
拿过来我看看
emacs -Q 启动后,执行下面的最小配置
-
打开git目录里的 smart-input-source.el 文件
-
C-x g
进入magit -
<tab>
展开Recent commits
-
在
fix regression
commit 上按<RET>
-
下面弹出 magit-revision buffer, 在不同行按
C-x b
或C-x 0
1 file changed, 1 insertion(+), 1 deletion(-)
行以上都正常,以下行基本都出现undefined
(setq user-emacs-directory "D:/Q/360/Emacs/winrc/emacsrc/.emacs.d/")
(add-to-list 'load-path "D:/Q/360/Emacs/winrc/emacsrc/.emacs.d/elisp")
(setenv "PATH" (concat "D:/Q/360/Emacs/bin/" ";" "D:/Q/360/Emacs/winrc/" ";" "D:/Q/360/Emacs/winrc/GnuWin32/bin/"))
(progn
(setenv "PATH"
(concat
(getenv "PATH") ";"
"C:/Program Files/Git/bin" ";" ; Git for windows 2.10.0
"C:/Program Files/Git/usr/bin" ";"
))
(setq exec-path
(append exec-path (split-string (getenv "PATH") ";"))))
(package-initialize)
(use-package magit
:bind (("C-x g" . magit)))
(use-package smart-input-source
:init
(setq smart-input-source-external-ism "im-select.exe") ; for windows 命令行切换输入法工具
(setq smart-input-source-english "1033")
(setq-default smart-input-source-other "2052")
(setq smart-input-source-default-cursor-color "green yellow")
(setq smart-input-source-other-cursor-color "magenta")
:config
;; (global-set-key (kbd "<f9>") 'smart-input-source-log-mode)
;; enable the /cursor color/ mode 中英文光标颜色模式
(smart-input-source-global-cursor-color-mode t)
;; enable the /respect/ mode buffer 输入法状态记录模式
(smart-input-source-global-respect-mode t)
;; enable the /follow context/ and /inline english/ mode for all buffers
(smart-input-source-global-follow-context-mode t)
(smart-input-source-global-inline-mode t)
;; enable the /follow context/ and /inline english/ mode for specific buffers
;; :hook
;; (((text-mode prog-mode) . smart-input-source-follow-context-mode)
;; ((text-mode prog-mode) . smart-input-source-inline-mode))
;; (setq-default smart-input-source-inline-tighten-head-rule 1) ; 删除头部空格,默认1,删除一个空格,1/0/'all
(setq-default smart-input-source-inline-tighten-tail-rule 'all) ; 删除尾部空格,默认1,删除一个空格,1/0/'all
(setq-default smart-input-source-inline-with-english t) ; 默认是t, 中文context下输入<spc>进入内联英文
(setq-default smart-input-source-inline-with-other t) ; 默认是nil,而且prog-mode不建议开启, 英文context下输入<spc> <spc> 进行内联中文
)
(Emacs 26.3 版本)
(current-active-maps)
这个输出。。。
C-x b is undefined
C-x o is undefined
((keymap #^[nil nil keymap nil nil nil nil nil nil nil nil nil ...]) (keymap (menu-bar keymap (lisp-interaction "Lisp-Interaction" keymap ... ... ... ... ... "Lisp-Interaction")) (10 . eval-print-last-sexp) (27 keymap (9 . completion-at-point) (17 . indent-pp-sexp) (24 . eval-defun)) keymap (127 . backward-delete-char-untabify) (27 keymap (17 . indent-sexp)) keymap (27 keymap (17 . prog-indent-sexp))) (keymap #^[nil nil keymap
#^^[3 0 set-mark-command move-beginning-of-line backward-char mode-specific-command-prefix delete-char move-end-of-line forward-char keyboard-quit help-command indent-for-tab-command electric-newline-and-maybe-indent ...] self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command ...] self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command ...] self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command self-insert-command ...] (S-mouse-3 . kmacro-end-call-mouse) (C-wheel-left . mwheel-scroll) (S-wheel-left . mwheel-scroll) (wheel-left . mwheel-scroll) (C-wheel-right . mwheel-scroll) (S-wheel-right . mwheel-scroll) (wheel-right . mwheel-scroll) (C-wheel-down . mwheel-scroll) (S-wheel-down . mwheel-scroll) (wheel-down . mwheel-scroll) ...))
复现了。。。
很奇怪你刚开始全新干净的环境, 为什么没有复现?看你的gif操作应该是能复现的?