emacs-mac-port 不知为何不识别C-/
键,不知道大家有没有碰到过?
环境:
- OS: macOS 10.13
- Emacs: GNU Emacs 25.3.1 (x86_64-apple-darwin16.7.0, Carbon Version 157 AppKit 1504.83) of 2017-09-17
问题:无法识别C-/
。因为我将之绑定为了undo
,因此还是挺不方便的。
在网上搜了一圈好像没有人问这个问题… 不知道这里有没有人碰到过。多谢了
emacs-mac-port 不知为何不识别C-/
键,不知道大家有没有碰到过?
环境:
问题:无法识别C-/
。因为我将之绑定为了undo
,因此还是挺不方便的。
在网上搜了一圈好像没有人问这个问题… 不知道这里有没有人碰到过。多谢了
什么叫做“不识别”?被系统(或者输入法等其它程序)拦截的意思么(但如果是这样就跟 Emacs 没关系)?
~ $ open -a Emacs --args -Q
C-h c DEL
C-h c C-/
M-x version
DEL (translated from <backspace>) runs the command backward-delete-char-untabify
C-/ runs the command undo
GNU Emacs 25.3.1 (x86_64-apple-darwin16.7.0, Carbon Version 157 AppKit 1504.83) of 2017-09-17
同是 macOS High Sierra,emacs 版本 "GNU Emacs 25.3.2 (x86_64-apple-darwin13.4.0, Carbon Version 157 AppKit 1265.21) of 2017-09-12"
没有这种问题。
DEL 键 (Fn + delete)识别也没问题。
看看你的系统快捷键设置,可能这个按键被拦截了。
你怎么又换回mac了。。
换电脑了啊。毕竟我还要用 Adobe 全家桶。
我尝试理解你的问题:你提到DEL键,又提到C-/
。首先,在terminal下,C-?
自动识别为DEL键,而不是C-/
(是否用Shift键的区别)。其次,C-/
绑定为undo
也是undo-tree
的默认设置,terminal和gui下运行都为正常。第三,C-?
在gui下不会被替换为DEL键,就是C-?
。
这样的类似terminal和gui下键位识别区别的问题还有:
<tab>
vs. TAB
,C-i
;(按键TAB在terminal和GUI下的区别)C--
自动识别为C-_
;(shift
不起作用)C-|
自动识别为C-\
;(shift
不起作用)如果你同时terminal和gui的emacs,这些按键绑定注意下就行了。比较麻烦的是TAB(用于company-mode
或auto-complete
触发键),简单处理办法是统统帮成TAB
(i.e. (kbd "TAB")
,TAB按键和C-i
的按键识别一致),不要在GUI下区分使用<tab>
和TAB
了。(注:<tab>
为 (kbd "<tab>")
)
不知道是不是你的问题,给别人当个信息参考吧。(以上是OS X下确认的信息,Linux应该一样吧,没注意测试过。)
多谢各位的耐心帮助。之前问题描述的有点不清楚,这里再明确描述一下:
DEL
键识别为<C-backspace>
的问题。这个是由于我有如下设置:(setq mac-function-modifier 'control)
C-\
键组合。这个问题其实是有时发生有时不发生。原因似乎是搜狗输入法截获了该键组合。但是奇怪的是我之前用的Emacs24就没有这个问题。总之,希望能对有类似问题的人一点些微参考。
我也碰到这个问题: 在windows上通过PuTTy以ssh方式连到服务器上,在里面用emacs编辑文件,也是C-/识别为C-_,很奇怪。没解决。
我也遇到这个问题了,后面翻代码发现,macport 版本默认 control 是会被 OS 拦截的。 https://bitbucket.org/mituharu/emacs-mac/src/a124e5d0ccb820095be99c78d51abfd36ee22d9b/src/macterm.c#lines-6163
类似还有 command 键,我在配置里 disable 了这2个就正常了。
(setq mac-pass-control-to-system nil)
(setq mac-pass-command-to-system nil)
楼主的问题比较早了,还是回复下,希望对后面遇到同样问题的同学有帮助
这里重新顶一个帖子,我遇到的问题是 emacs-mac-port 无法在中文输入法下识别 C-/
(英文输入法下正常),使用了这两个配置后就正常了