文章目录
一、问题描述二、解决方法一、问题描述
有时当我想打极客时,在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, 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, 11:06:10 更新
我发现一种更加快速的方法,直接用cmd + K
映射到esc,这样不会在屏幕中出现任何字母,而a;
还会在屏幕上先出现a,然后再消失
思考:Why doesESC
move the cursor back in vim?