用 Vim 久了,自然会被引入改键的歧途。我习惯使用的,是下面 2a 这种。
- 对调,对调两个按键的功能
.. Esc <==> CapsLock
.. Esc <==> Tilde(~)
.. Esc <==> Windows - 重设,改变原始按键的功能
.. CapsLock => Esc
.. Windows => Esc
基于 xmodmaprc 作的改建,有线键盘的时候没什么大问题。
在改用蓝牙键盘以后,每次断开后再重连,就会导致改键失效。
% cat ~/.Xmodmaprc
! Make <CapsLock> to be <Escape>
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
使用网上的 办法,改用 setxkbmap 来实现改键,问题就顺利解决了。
另外, 意外 发现了 xcape,结合 这篇 和 这篇,我把改键换成了这样,可以改成这样
- 对调 CapsLock <==> (左)Ctrl,并且
- 单击 CapsLock 触发 Esc 键
/usr/bin/setxkbmap -option ctrl:swapcaps
/usr/bin/xcape -e 'Control_L=Escape'
需要一段时间适应。坚持了一下午,我还是老老实实用 2a 吧。
/usr/bin/setxkbmap -option caps:escape