通过使用 Scroll-Lock 和字母键在任何程序中进行类似 Vim 的移动

标签 vim x11 keymapping scroll-lock

我正在重新映射键盘上的一些键,并希望在激活 Scroll-Lock 时使 J、H、L 和 K 键的行为类似于箭头键,这样我就可以在任何程序中使用类似 Vim 的滚动功能。

我正在使用 xmodmap 重新映射一些键,但我无法通过滚动锁定获得预期的行为。我该怎么做?

最佳答案

这并不完全是您想要的,但您可以编写一个脚本将硬 xmodmap h,j,k,l 切换为箭头映射。

例如:

#!/bin/bash
if [ `cat /var/layout` == "normal" ]; then
    xmodmap -e 'keycode 43 = Left'
    ...
    echo "hjkl" > /var/layout
else
    xmodmap -e 'keycode 43 = h'
    ...
    echo "normal" > /var/layout
fi

(使用xev查找键码)

然后您可以使用全局窗口管理器热键来调用它。可能所有的窗口管理器都或多或少能够很好地做到这一点。如果幸运的话,您甚至可以将滚动锁绑定(bind)到它。

关于通过使用 Scroll-Lock 和字母键在任何程序中进行类似 Vim 的移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24561385/

相关文章:

c++ - 将 ncurses 键事件转发到 X11 窗口

c - 帮助 : Maximum number of clients reached - Segmentation fault

javascript - 你能给我看一些 Keymap.js(权威指南)的例子吗?

Vim - 粘贴时如何排除剪贴板寄存器的一部分

python - VIM/Python 无法向 VIM 返回值

linux - 程序如何与Linux上的X11服务器通信?

windows - 如果 Steam 可以映射 Xbox 360 Controller 上的指南按钮,为什么我不能

vim 退格键离开 ^?

python - 如何解决linux vim中的 "requires python 2.x support",我的系统中有python 2.6.6

string - vim:替换所有字符直到给定 token