emacs在windows下使用遇到的一些问题
Last Updated:2022-08-12
win10下ctrl+space被系统覆盖成“输入法切换”了
解决方案参考了这篇博文windows下ctrl+space被输入法覆盖了
step1. 按照上面博文的方案,把注册表相应的值改掉
step2. (改完注册表后依然无效)再将windows的键盘(输入法),总共建成2个。
一个是英文输入;一个是中文输入; 在中文输入下,只添加一个输入法(搜狗或者微软)。 (当然,在控制面板,也已经将输入法的切换改成了非"ctrl + space",这边我改成了"ctrl + end")
然后就好了。
win10系统下,在emacs里,"ctrl + space"被检测出来,并发现是"lwindows"键(left windows键,相应的,有rwindows键)
参考这篇emacs的文档、介绍windows-keyboard
step1,现在emacs里头,将"lwindows"键(ctrl+space)捕获掉,不要传到系统层面(windows系统)
(setq w32-lwindow-modifier 'hyper)
上面这段代码里头,有两个知识点。
- w32-lwindow-modifider变量(即,lwindows键)
- hyper键;相应地,还有super、meta、ctrl、shift等等(现代键盘基本没有了hyper和super键)
step2, 上一步将lwindows键改成了hyper键;然后再将ctrl-space(set-mark-command命令绑定到别对的键组合)
(global-set-key (kbd "C-c SPC") 'set-mark-command')