Inoremap 不起作用

Aks*_*hah 0 unix vim

我正在尝试在 vim 中设置自动括号插入,并已完成以下操作:

:inoremap { {}<Left>

但是,当我进入插入模式并输入时{,只有{按预期插入。我已经检查过:imap,它包含以下内容:

i  <S-Tab>     * <C-R>=BackwardsSnippet()<CR>
i  <Plug>SuperTabBackward & <C-R>=SuperTab('p')<CR>
i  <Plug>SuperTabForward & <C-R>=SuperTab('n')<CR>
i  <C-Tab>     * <Tab>
i  <Tab>       * <C-R>=TriggerSnippet()<CR>
i  <CR>        * <C-R>=<SNR>19_SelectCompletion(1)<CR>
i  <C-R><Tab>  * <C-R>=ShowAvailableSnips()<CR>
i  <C-X>         <C-R>=<SNR>19_ManualCompletionEnter()<CR>
i  {}          * {}
i  {{          * {
i  {<CR>       * {<CR>}<Esc>O
i  {           * {}<Left>
Run Code Online (Sandbox Code Playgroud)

这表明它设置正确。任何人都可以提供帮助?

Ing*_*kat 5

看起来该<值已添加到您的'cpoptions',因此特殊的键代码<Left>不起作用。当心:set cpo命令或:set compatible(这也影响到'cpo'你)~/.vimrc

另外,不要:set paste在你的~/.vimrc

当“粘贴”选项打开时(也当它已经打开时): - 插入模式和命令行模式下的映射被禁用

相反,定义一个键来切换:

:set pastetoggle=<F11>
Run Code Online (Sandbox Code Playgroud)