经常使用 vim 的人,有可能使用下面的 mapping 回到 normal 模式:
inoremap jk <esc>
唯一不爽的是,每次按 j 的时候,vim 都会等待最多 timeoutlen 毫秒(默认是 1000 ms ),来判断用户是想输入 j 还是想输入 jk 跳出 insert 模式,所以输入 j 的时候,会有延迟感,有点讨厌。当然可以通过降低 timeoutlen 的值来减少这种延迟,但是 timeoutlen 是一个全局选项,如果减少 timeoutlen 会导致有的组合键来不及按下。
我写一个插件 better-escape.vim,专门针对跳出 insert mode 这种场景,不需要更改 timeoutlen 选项即可实现按下 j 无延迟感,快速按下 jk 即可跳出 insert 模式,同时也支持多个离开 insert mode 的快捷键,有这种需求的 Vimmer 可以试用。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.