余晖~ 2024-05-06 18:02 采纳率: 90.3%
浏览 3

在虚拟机上将Esc键位重新映射

我在VMWare上面运行的Ubuntu虚拟机上使用Vim时,想用CapsLock键替代Esc键,我使用的的是xmodmap工具,但是不起作用。

我在~/下创建了.xmodmap文件

remove Lock = Caps_Lock
keycode 9 = Caps_Lock NoSymbol Caps_Lock
keycode 66 = Escape NoSymbol Escape
add Lock = Caps_Lock

然后执行了xmodmap ~/.xmodmap 运行,但是再次打开vim时发现不起作用。

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-06 18:02
    关注

    引自免费微信小程序:皆我百晓生

    要解决这个问题,你需要确保以下几个步骤都正确执行:

    1. 创建.xmodmap配置文件: 在你的主目录(通常是~)下创建一个名为.xmodmaprc的文件,而不是.xmodmap。这是因为.xmodmaprc是X Window系统默认读取的配置文件。在这个文件中添加以下内容:
    ! Swap Caps Lock and Esc key
    remove Lock = Caps_Lock
    keycode 9 = Caps_Lock NoSymbol Caps_Lock
    keycode 66 = Escape NoSymbol Escape
    add Lock = Caps_Lock
    
    1. 添加执行权限: 给这个配置文件添加执行权限,这样可以让你通过命令行直接运行它:
    chmod +x ~/.xmodmaprc
    
    1. 源入配置文件: 打开终端并运行以下命令,这将会立即应用新的映射设置:
    exec xmodmap ~/.xmodmaprc
    
    1. 验证效果: 现在你应该可以在Vim或其他应用程序中使用 Caps Lock 作为 Esc 键了。如果你仍然没有看到预期的效果,可能是其他因素干扰了配置。检查是否有其他软件(比如桌面环境的快捷键设置)也在修改这些键的映射。

    2. 自动加载配置: 如果你想让这个配置在每次登录时自动生效,可以将其加入到启动脚本中。在Ubuntu系统中,通常是在~/.profile~/.bashrc文件中添加以下行:

    if [ -f ~/.xmodmaprc ]; then
        exec xmodmap ~/.xmodmaprc
    fi
    

    请确保替换掉原来的.xmodmaprc为上述步骤中的新文件名,保存更改并退出。

    1. 重启终端或注销登录: 为了使更改生效,关闭当前终端窗口,然后重新打开一个新的终端窗口,或者注销并重新登录到你的用户账户。

    按照以上步骤操作后,你应该能在Ubuntu虚拟机上的Vim中使用 Caps Lock 代替 Esc 键了。如果还有任何问题,请随时反馈。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月6日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真