Vim imap jk <esc>即使使用转义字符也无法正常工作</esc>

时间:2014-05-30 03:52:52

标签: vim mapping

我读了this answer关于将<ESC>键映射到jk的问题。我尝试了答案,但没有任何对我有用。这些是我在我的vimrc中尝试过的:

inoremap jk <ESC>, inoremap jk <^[>, inoremap jk ^[, inoremap <special> jk <ESC
他们都错了吗?我也试过设置cpo - =&lt;在映射定义之上。密钥后没有评论

这是我的vimrc,命令位于文件的底部

我是vim的新人。谢谢!

3 个答案:

答案 0 :(得分:3)

inoremap拼写错误。 (我还假设你将每一个放在一个单独的行上。)这应该有效。

inoremap <special> jk <ESC>
无论<special>设置为什么,

<ESC>强制cpo都可以作为转义。

答案 1 :(得分:3)

问题解决了。 <esc>无效的原因是因为我的vimrc中的这个函数:

if ! has("gui_running")
    set ttimeoutlen=10
    augroup FastEscape
        autocmd!
        au InsertEnter * set timeoutlen=0
        au InsertLeave * set timeoutlen=1000
    augroup END
endif

inoremap jk <ESC>在摆脱上述功能后效果很好。

我认为augroup FastEscape使<esc>映射不起作用。

答案 2 :(得分:0)

对于那些由于标题而在此处的用户,启用:set paste时jk映射将不起作用。