一个很初级的问题

看到一个配置里这样写: (global-set-key (kbd “s-/”) 'hippie-expand)

请问这个s-/怎么按出来啊? 这个s是什么?字母s?Shift?还是其他什么?

super 键,一般就是键盘上那个 win 标识的键

  • C: Ctrl
  • S: Shift
  • s: Super or Win
  • M: Alt

谢谢,可以了,我按了半天没按出来,哈哈

谢谢啦 :grinning:

还有H, hyper键, 可以用xmodmap自己搞一个, 很香

[狗头表情]

以前我也觉得修饰键多很香,现在彻底不用这个 super 和 hyper了。 Ctrl 和 Atl 的组合已经够用,太多了反而不好记,super 键还是留给操作系统用

你hyper键映射到哪里呢?具体是怎么用的可以分享一下吗?

old pause break --> new capslock (maybe not necessary)

old capslock --> new left alt

old left alt --> new left ctrl

old left ctrl --> new left hyper

多了一个hyper, 那么你就可以随便用在emacs里的哪一组的keymaps里了

比如, 我用在eyebrowse的虚拟emacs workspace的切换里面等等

https://github.com/gadmyth/emacs/blob/master/basic-scripts/eyebrowse%2B.el#L686

我好像暂时没这个需要,等将来有需要了再来参考吧,谢谢你

这个大写S不能表示shift键吧,emacs里没有办法表示shift键按下,我是直接用大写字母表示的(global-set-key (kbd "S") 'save-buffer)

但是vsc可以,shift+s可定义为快捷键,不需要用大写字母表示(即capslock s可正常输入大写字母),这个问题我在 这篇文章 的最后也提到

这个问题就是我实际遇到的 vsc有而emacs没有的功能

那 C-S-2 是不是就是 C-@ 呢?

C-S-2,emacs有这种写法吗?我试了一下(win10) (global-set-key (kbd "C-S") 'save-buffer),这个指的是ctrl+shift+s,相当于还是ctrl+大写字母S,也表示不了shift键

C-S-<return>中,S就是指Shift; C-S中,S指大写字母S;

感谢指正,原来可以这样用(global-set-key (kbd "S-<return>") 'save-buffer),似乎只要是不会输入字符的键都可以用S-开头,如tab与f功能区的键,但会输入字符的键就不行

S 在中间和在末尾是不一样的,同理,A,C,h,M,s 在中间在末尾都是不一样的(这几个一起出现的话还有个顺序来着