问题解决:VScode在使用中文输入法时出现vim insert模式变成vim normal的奇怪现象( jj 映射成esc)

一、问题描述

有时当我想打极客时,在VScode中用中文输入ji 空格 ke,然后会发现下面奇怪的现象
在这里插入图片描述

我是用了VScode vim插件的,然后当我输入ji ke后,vim居然在中文输入法下由insert模式变成了normal模式,然后我再输入中文,就完全打不出来了,因为这是相当于在normal命令下按键,这让我很蒙圈,想了很久,才想清楚原因

二、解决方法

在设置中我尝试把之前设置的 jk 按键映射注释掉
在这里插入图片描述
神奇的事情发生了,这是在打ji ke就不会出现上面的问题了

原来如此!!!

Vim把中文极(ji)和客(ke)的首字母jk组合起来了,然后映射成escape了,恍然大悟,因为当我试着打挤(ji)开(kai)也是出现了同样的情况

最后我改成了 ;; 映射成 escape,这样就基本不会出现上面的情况了
在这里插入图片描述
Monday, April 13, 2020 00:15:16 更新
我设置了a;;a映射成esc,这样只要同时按下这两个键即可

    "vim.insertModeKeyBindings": [
        {
            "before": [ // use jj will have a bug
                "a",
                ";"
            ],
            "after": [ // 缺点是行首时会移动两个光标
                "<esc>",
                "l"
            ]
        },
        {
            "before": [ // use a; or ;a can both be esc
                ";",
                "a"
            ],
            "after": [
                "<esc>",
                "l"
            ]
        }
    ],

Thursday, April 30, 2020 11:06:10 更新
我发现一种更加快速的方法,直接用cmd + K映射到esc,这样不会在屏幕中出现任何字母,而a;还会在屏幕上先出现a,然后再消失
的
思考:Why does ESC move the cursor back in vim?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

捡起一束光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值