当我用 shift-s 在 ranger 中打开一个 shell,打开 vim,然后用 :sh 打开一个 shell 或用 ctrl-shift-t 打开一个新的 shell 选项卡时,我的 xmodmap 键绑定(交换的大写锁定和转义键)被重置。这是终端吐出来的:
xmodmap: please release the following keys within 2 seconds:
t (keysym 0x74, keycode 28)
Shift_R (keysym 0xffe2, keycode 62)
Run Code Online (Sandbox Code Playgroud)
我的键绑定对我来说非常重要,因为我是一个活跃的 vim 用户,目前正在使用 Typescript(我需要快速访问 shell 来编译我的代码)。我设置了我的键绑定xmodmap ~/.Xmodmap(.Xmodmap 文件包含我的 xmodmap 命令)并将该命令添加到我的 .bashrc。
对于更多上下文,我使用的是 Ubuntu 16.4,我最近创建了一个 Ranger 配置文件 (~/.config/ranger/rifle.conf) 来添加对 .ts 文件扩展名的支持。我不是专家护林员或 bash 用户,但两者对我的工作流程都非常重要。帮助将不胜感激。
编辑:当我xmodmap ~/.Xmodmap从 .bashrc 中删除时,这个问题就解决了,但现在我无法在启动时启用我的 xmodmap 键绑定。添加@reboot xmodmap ~/.Xmodmap到我的 crontab 文件不起作用(也许我应该为此发布一个单独的问题,但我会将这个问题留在这里以供将来参考)。