S-j 这种快捷键该怎么按(evil模式)

如题,实在试不出了

标题的s是小写的,不知道为什么我改动不了了

先不管 Evil,s-j 是指什么(怎么按)?

小写的s指的是super key,evil本身应该是没有的,应该是个自定义的快捷键

layers/zilongshanren-programming/packages.el
18:        paredit
269:      (define-key lispy-mode-map (kbd "s-k") 'paredit-splice-sexp-killing-backward)
558:(defun zilongshanren-programming/init-paredit ()
559:  (use-package paredit
560:    :commands (paredit-wrap-round
561:               paredit-wrap-square
562:               paredit-wrap-curly
563:               paredit-splice-sexp-killing-backward)
567:      (bind-key* "s-(" #'paredit-wrap-round)
568:      (bind-key* "s-[" #'paredit-wrap-square)
569:      (bind-key* "s-{" #'paredit-wrap-curly)

在linux下,把那个小写s当做super key处理,用快捷键无效,M-x直接调用函数有效 (我用上图的 paredit-wrap-round 试的)

1 个赞

我不是很明白你是怎么把小写的 s 当 super key 的,super key 在 linux 下面具体是哪个键我不清楚。

你可能需要再上网搜索一下如何添加 super key,这个 super key 跟你键盘上面的小写的 s 键是完全不同的。

好的.我去看看

噢,明白了,跟 ControlMeta/Alt 的角色类似。

我这边默认是 Windows 键(上面有个 Windows Logo),我按住 Win + j 的时候,Emacs 有提示 s-j is underfined

终端下快捷键残缺,这个只有在gui下才有用,刚刚才发现

罗技 K380 怎么解. 哪个是super key?

看系统。linux下默认是win键

macOS系统,键盘上没有

Mac上super就是command键 (cmd),我用macbook自带键盘和hhkb都是这样。(你图中的这个键盘分布,应该是圈圈中横线下面的标示,这是Mac的标准键位,横线上面的应该是windows键位分布)

如果你用Emacs设置使用command为control (大拇指按ctrl一族专用),那记得把ctrl设为command, 不然就没super用了,反而仨control。

;; key modification for OS X
(when (string-equal system-type "darwin")
  (setq mac-command-modifier 'control)  ; use command as control
  (setq mac-control-modifier 'super))   ; use control as super

这样设置之后, 键盘物理键ctrl 还是C , 物理键cmd仍然没有作用

不可能的啊,mac下super就是command键

哦,对了,你不是在terminal下用吧?那你要注意你用的term支不支持super key了,GUI下没问题。你先用mac自己的键盘测试下cmd作super有没有用,再说外置键盘的事儿。我用过的:macbookPro的笔记本键盘、apple自家的键盘、hhkb 在GUI Emacs中没有问题 (terminal下的emacs不清楚)。

如果mac自己键盘没问题,你的logitech有问题,看看是不是和hhkb一样有键盘开关设键位,调成mac而不是win模式。

这样设置之后, 键盘物理键ctrl 还是C , 物理键cmd仍然没有作用

你没读我的解释吧?我的那个设置不是干这个呀

我用的是iterm 2 ,不知道怎么判断是否支持superkey 02

我的理解是把物理command映射为emacs中的control 来使用,没有成功.:disappointed_relieved:

我也是用iterm2,但我emacs用的是GUI的。好些键位绑定terminal Emacs根本不支持的,说不定super+…也是其中不支持的,而不是iterm2的问题,因为iterm2对command键支持的很好。 我手头只有linux,晚上我试下mac告诉你。

另:我的意思“command是super”是指Emacs把command键解析为super键,iterm2并没有super键这个概念,因为mac下并没有super键这个东西。