问题描述
我们在使用 vim 时,经常需要使用 esc 键,但是这个按键离得手指舒适区域非常远。因此,一种常见的做法是:更换 esc 按键和 caps lock 按键。
使用 keyd 是一种比较有效的解决方案,此外,还有一个好处是,可以进一步设置 caps lock 键的功能:短按是 esc 键,长按则是切换键盘布局,在新的布局下,可以将 h, j, k, l 分别映射为左、下、上和右,这样在一些非 vim 环境下,也可以在长按 caps lock 键的情况下,使用 vim 的操作逻辑了。
安装
执行以下命令:
sudo pacman -S keyd配置
编辑 /etc/keyd/default.conf 文件,我的文件内容如下:
[ids]
*
[main]
capslock = overload(caps_layer, esc)
esc = capslock
# asdf 长按为左修饰键,短按为字母
a = overloadt2(control, a, 200)
s = overloadt2(shift, s, 200)
d = overloadt2(alt, d, 200)
f = overloadt2(meta, f, 200)
# jkl; 长按为右修饰键,短按为字母
j = overloadt2(meta, j, 200)
k = overloadt2(alt, k, 200)
l = overloadt2(shift, l, 200)
semicolon = overloadt2(control, semicolon, 200)
[caps_layer]
u = home
i = end
y = pageup
o = pagedown
h = left
j = down
k = up
l = right
启用
执行以下命令:
sudo systemctl enable --now keyd.service