如何用 CapsLock 大写锁定切换编辑模式?

还是想问下大家怎么用大写锁定来切换编辑模式,不知道怎么配置

这段时间想尝试下evil,但是开了evil-mode后不知道怎么取消他
我的想法是通过敲击 CapsLock 来切换,激活大写锁定时,使用evil-mode,再次按下 大写锁定,取消 evil-mode


或是这样,激活大写锁定时,切换模式为 编辑模式,再次按下,切换为导航模式

光靠Emacs应该是实现不了的,要借助外部的工具,Emacs本身是无法检测大写锁定键的状态的

可以尝试把大写锁定改为其他不常用的按键,然后Emacs绑定切换模式的函数。
我目前将大写锁定改成了Ctrl,切换模式的按键是 Ctrl-Tab,用着挺舒适的。

要不换种思路
我的主要目的是在 原生Emacs编辑模式 和 evil模式间切换,问题是,我不知道当前编辑模式是哪个, 改如何显示模式的名字?

CapsLock 大写锁定切换编辑模式,这个在我这里是只要我想这样用,随时都可以,比如上移两行回到行首emacs默认是c-p c-p c-a,这个操作我的是shift+p p a,等价于 capsLock p p a,然后在按capsLock回到编辑模式,但我实际用下来是shift比cpasLock还要好按(cpasLock又比ctrl好(ctrl又要比esc键好)),有更好的选择我也就没必要按cpasLock了

这是我用Evil的配置,喜欢的话可以试试。

  • 系统配置把CapsLock换成了Ctrl
  • Cmd+AExc 作用类似,切换回 Normal
  • Cmd+S 保存并切换回 Normal

你也可以用 jkfd来切回 Normal: GitHub - syl20bnr/evil-escape: Customizable key sequence to escape from insert state and everything else in Emacs.

问题是,我不知道当前编辑模式是哪个, 改如何显示模式的名字?

你可以用Spacemacs的方式,在modeline显示当前模式的名字。doom-modeline好像就有支持?不行就抄几行代码 :smirk:

能否在modeline上显示当前输入状态是大写或小写,这样就不用目光老是要看向键盘指示灯

windows下直接修改注册表,想怎么改怎么改,其他的需要借助工具了

evil 默认绑着 C-z 来临时开关 evil-mode

额,没这需求,我从来不用CapsLock :joy: 需要单个字母大写的时候按shift,多个字母的话小写输入完 Normal 模式下按 U 就行了。

用ahk脚本