求助,怎么输入M-1 ,我绑定了一个快捷键,但是我按alt+1出来的是C-u 1,Ctrl-h k,alt+1 就是M-1

求助,怎么输入M-1 ,我绑定了一个快捷键,但是我按alt+1出来的是C-u 1,Ctrl-h k,alt+1 就是M-1

这个键怎么输入呢?

看了一下,以我有限的水平你应该是 define-key KEYMAP 参数给错了,如果你想定义为全局的应该将 map 改为 global-map,至于有哪些 map ,你可以用C-h v 查看以 map 结尾的变量

怎么把这个winnum-keymap 搞到global-map呢,

我是Emacs新手,只是单独用过 define-key 这个函数,你写的内容已经超过我的知识范围了😂,爱莫能助,实在抱歉😅,主要就是不理解为什么要用 setq 我一直都是直接 define-key

应该是在 (require 'winum) 前设置 winum-keymap。 我对 use-package 关键字不是很熟悉,可以把设置 winum-keymap 的代码放在 :init下面试试。

都用use-package了,可以用bind-keys写。

(bind-keys :map winum-keymap 
    ("C-`" . winum-select-window-by-number)
    ...)

我估计这里的问题是你创建了一个新的keymap,然后keymap有reference sematics,原来的那个真正有用的keymap没有被改变。

看见你绑定的按键里有C-²,请问,用的不是qwerty布局吧?平时的经验能不能分享一下。 :smile:

咳,抄作业。

这个回复解决了我的问题,我抄作业抄的太粗糙,没有细看,

就是你问题中提到的快捷键:M-1,这个快捷键在键盘是怎么按的?具体按的是哪些键,我半天没找到咋搞!

M = META, 就是alt键。按alt + 1

不建议改 M-1 的绑定。M-数字键 的默认绑定就是说C-u 数字键,意思就是给接下来你要输入的命令带来一个数字前缀,比如你要移动三行,可以按 M-3 C-p 就是向上移动三行。再比如 M-0 C-k 是 前向删除;也就是 C-k的反向版本。

如果你用 GUI,那你可以按 C-3 C-p,C-3和M-3是等效的,但是在终端里面用 emacs, Control-数字键的绑定都是用不了的,你只能用M-3。