尝试使用 xmodmap 将 <Ctrl>+<hjkl> 全局映射到 <Left Down Up Right>(类似 Vim 的箭头键)

Str*_*mer 9 vim keyboard keyboard-layout shortcut-keys xmodmap

我试图在 Ubuntu 操作系统上分别将Ctrl+ H, J, K,映射L到箭头键Left, Down, Up, Right

我已经尝试了此处发布的解决方案,但修饰符命令不起作用。这是我正在尝试的:

xmodmap -e "keycode 45 Control_L = k Up"
xmodmap -e "keycode 45 control = k Up"
Run Code Online (Sandbox Code Playgroud)

(键码 45 映射到“k”)

这两个命令都不起作用。(他们没有给出错误,但ctrl+k没有重新映射到up arrow

有没有办法做到这个 xmodmap,如果没有,是否有更干净的解决方法?

谢谢!

编辑:我在这里找到了答案- 感谢 swift

swi*_*ift 7

将 Ubuntu 变成代号“VimOS”肯定是非常奇怪的想法。我认为将 Vim 的键映射到一些自由且平等的键盘集群更合适。或者绝对不是因为它也可能有用。

但是,我不会删除我关于 Vim 映射的第一个建议,并且应该说这里存在您的问题的答案:
系统范围的 vim 样式 (hjkl) 导航

我部分同意这个观点(感谢shell 地狱):

注意 3:设置Ctrl / Meta+ HJKL键绑定似乎是获得 vim 风格导航的最简单方法,但事实并非如此。首先:您必须在每个应用程序的基础上执行此操作,这是一个令人厌烦的过程。第二:您可能最终会破坏任何给定应用程序的默认映射。最后但并非最不重要的一点:某些应用程序(例如 rtorrent 或 htop)不允许您更改其默认值,只能通过修补其源代码来保存。出于类似的原因,您也无法使用 完成工作Super / Hyper

而且我在这里找到了接近答案:
超级用户:将 Super+hjkl 映射到 X 下的箭头键

Vim 使用切换模式来映射键。所以 xmodmap for Vim 它是一些可插入的全局变量,打破了经典的 Vim 体验。即便如此,声称这听起来很可悲;)

Vim 支持多种编辑模式 - 正常、插入、替换、可视化、选择、命令行和操作符挂起。您可以映射一个键以在所有或部分这些模式下工作。

Vim 中的映射键 - 教程(第 1 部分)
Vim 中的映射键 - 教程(第 2 部分)
Vim 中的映射键 - 教程(第 3 部分)

  • 维莫斯!我从哪里得到它? (3认同)