之前一直用的NeoVim,最近换成了Spacemacs,但之前在.vimrc里可以通过
:imap jj <ESC>
来设置 双击jj 进入normal模式,
不知道Spacemacs可以设置吗,搜了很久都没搜到。
我记得 spacemacs 里默认是 jk 来进入 normal 模式。可以看一下 keychord 这个包,spacemacs 里也是用它来实现的
也可以做一个系统级的键盘映射
我个人重度使用 Emacs 的 evil 、vimac 、chromium 的 surfingkeys ,之前是使用 hammerspoon
local function keyCode(key, modifiers)
modifiers = modifiers or {}
return function()
hs.eventtap.event.newKeyEvent(modifiers, string.lower(key), true):post()
hs.timer.usleep(1000)
hs.eventtap.event.newKeyEvent(modifiers, string.lower(key), false):post()
end
end
local function remapKey(modifiers, key, keyCode)
hs.hotkey.bind(modifiers, key, keyCode, nil, keyCode)
end
remapKey({ 'cmd' }, 'i', keyCode('escape'))
现在是使用 karabiner
"description": "Change right_command+i to escape keys",
"manipulators": [
{
"from": {
"key_code": "i",
"modifiers": {
"mandatory": ["right_command"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "escape"
}
],
"type": "basic"
}
]
1 个赞
evil-escape-key-sequence "fj"
evil-escape-delay 0.3
我用这些设置。Spacemacs 文档中都有。
1 个赞
@SuperMMX 这个确实是可用的,以下是我添加到 dotspacemacs/user-init 中的配置代码
(defun dotspacemacs/user-init ()
(setq-default
evil-escape-key-sequence "jj"
evil-escape-delay 0.4)
)