我正在尝试将[Ctrl] - [;]设置为我的.emacs中的键绑定
(global-set-key "\C-;" 'comment-or-uncomment-region)
然而,当我尝试时它不起作用(我没有收到任何错误消息,它只是没有效果)。如果我尝试普通字符(例如将其设置为“\ C-p”),它将起作用。
我也试过
(global-set-key (kbd "C-;") 'comment-or-uncomment-region)
但我不喜欢这个选项,因为对我来说,当我运行“emacs -nw”时它不起作用。有关如何做到这一点的任何想法?
编辑:
当我在emacs -nw
中运行 C-h c C - ; 时,我得到输出:
; runs the command self-insert-command
与我在emacs -nw
所以我认为phils是对的,这是一个终端问题,因为emacs从未真正看到 C - ; ,它只看到;
答案 0 :(得分:4)
使用(kbd "C-;")
绝对正确无误。
我怀疑当你在运行emacs -nw
时键入 C - ; ,你的终端实际上并没有向Emacs发送任何内容。
所以你的问题更可能是如何让你的终端将 C - ; 发送给Emacs(或者如何让Emacs识别 < / em>已发送。
如果您运行emacs -Q -nw
并输入 Ch c C - ; ,您会收到"C-; is undefined"
条消息?
假设这是一个终端问题,这里有一些相关的Q&amp; As可能指向正确的方向,但它将取决于您正在使用的特定终端。
答案 1 :(得分:4)
确实C-;
通常不是您的终端能够发送到底层应用程序(如Emacs)的东西(因此它可以在GUI下工作,但不能在终端中工作)。但我想知道:为什么你需要这样的约束,因为M-;
已经绑定到comment-dwim
,它在选择区域时对区域进行注释/取消注释,因此它提供了{{的超集1}}。