重新映射 vim 中的修饰键
Remap modifiers key in vim
我使用 xmodmap 将我的大写锁定重新映射到超级键作为 mod3。
这是 xmodmap
的结果
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Hyper_L (0x42), Hyper_L (0xcf)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
那么是否可以将 vim 中的这个 mod3 密钥重新映射为领导者。
不,很遗憾不是。 Vim 仅理解 Shift、Ctrl 和 Alt 修饰符(参见 :help key-notation
),并且 您只能将修饰符与常规键组合使用 ,例如<C-a>
作为 Ctrl + A.
在终端中,Vim 甚至不会注册唯一修改键的按键;不会向它发送任何事件。在 GVIM 中,这在技术上是可行的,但 Vim 使用统一的输入模型,故意忽略某些 GUI 功能 (:help design-not
)。
这适用于映射以及 Leader 键。您需要选择非修饰键,或修饰键+组合键。
我使用 xmodmap 将我的大写锁定重新映射到超级键作为 mod3。 这是 xmodmap
的结果shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Hyper_L (0x42), Hyper_L (0xcf)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
那么是否可以将 vim 中的这个 mod3 密钥重新映射为领导者。
不,很遗憾不是。 Vim 仅理解 Shift、Ctrl 和 Alt 修饰符(参见 :help key-notation
),并且 您只能将修饰符与常规键组合使用 ,例如<C-a>
作为 Ctrl + A.
在终端中,Vim 甚至不会注册唯一修改键的按键;不会向它发送任何事件。在 GVIM 中,这在技术上是可行的,但 Vim 使用统一的输入模型,故意忽略某些 GUI 功能 (:help design-not
)。
这适用于映射以及 Leader 键。您需要选择非修饰键,或修饰键+组合键。