我正在尝试将Ctrl+ H、J、K、分别映射到 Ubuntu 操作系统上的L箭头键Left、Down、Up、 (全局,而不是 Vim 内部)。Right
我已经尝试过发布的解决方案这里,但修饰符命令不起作用。以下是我正在尝试的:
xmodmap -e "keycode 45 Control_L = k Up"
xmodmap -e "keycode 45 control = k Up"
(键码 45 映射到K
)
两个命令都不起作用。(它们没有给出错误,但Ctrl+K没有重新映射到Up Arrow)
有没有办法执行这个 xmodmap,如果没有,有没有更干净的解决方法?
谢谢!
编辑:我找到了答案这里- 感谢 swift
答案1
将 Ubuntu 改为代号“VimOS”的想法确实很奇怪。我认为将 Vim 的按键映射到键盘上一些自由且更均匀的键位更为合适。或者绝对不是,因为它也可能有用。
然而,我不会删除我关于 Vim 映射的第一个建议,并且应该说你的问题的答案就在这里:
系统范围的 vim 样式(hjkl)导航
我部分同意这个观点(感谢壳地狱):
注意 3:设置Ctrl / Meta+ H、J、K键L绑定似乎是实现 vim 风格导航的最简单方法,但事实并非如此。首先:您必须针对每个应用程序执行此操作,这是一个繁琐的过程。其次:您可能最终会破坏任何给定应用程序的默认映射。最后但并非最不重要的一点:某些应用程序(例如 rtorrent 或 htop)不允许您更改其默认值,除非修补其源代码。出于类似的原因,您Super / Hyper也无法使用 完成工作。
而且我还在这里找到了接近的答案:
超级用户:将 Super+hjkl 映射到 X 下的箭头键
Vim 使用切换模式来映射键。因此,对于 Vim 来说,xmodmap 是一些可插入的全局变量,破坏了经典的 Vim 体验。即便如此,声称它听起来也很可悲;)
Vim 支持多种编辑模式 - 普通、插入、替换、可视、选择、命令行和运算符待定。您可以映射一个键以在所有或部分模式下工作。
Vim 中的键映射 - 教程(第一部分)
Vim 中的键映射 - 教程(第 2 部分)
Vim 中的键映射 - 教程(第 3 部分)
答案2
我已经将 Tux-J 和 Tux-K 映射到 KDE 中的 Up 和 Down,它与所有应用程序相关。它实际上很容易配置。
- 到这里:
System Settings -> Custom Shorcuts -> Preset Actions
- 现在右键单击
Preset Actions
并选择New -> Global Shortcut -> Send Keyboard Input
- 调用新的快捷方式
VIM-J
- 在触发器选项卡中单击快捷按钮,然后按Tux- J。
- 在操作选项卡中输入
Down
- 单击窗口底部的
Apply
。 - 检查快捷键是否有效。如果有效,则配置剩余的 HK 和 L 键。
享受!