17

Jump withCtrlI在我的 Vim 中不起作用,但CtrlO可以。

这很奇怪,verbose map <c-i>或者verbose map <c-I>如下所示:

s  <Tab>         <Plug>snipMateNextOrTrigger
    Last set from ~/.vim/bundle/vim-snipmate/after/plugin/snipMate.vim
x  <Tab>         >gv
    Last set from ~/.vim/plugin/settings/Settings.vim
n  <Tab>         v>
    Last set from ~/.vim/plugin/settings/Settings.vim

当我按CtrlI时,当前行将缩进,vim 进入可视模式。

我试图添加unmap <c-i>到 ~/.gvimrc,但它失败了,当 macvim 启动时

Error detected while processing /Users/dfang/.vimrc:
line   83:
E31: No such mapping

我怎样才能取回我的CtrlI,以及如何重新映射CtrlOCtrl-(从=键左侧)?

4

2 回答 2

33
  1. <C-i>并且<Tab>是严格等价的。

  2. 您正在积极地压倒一切<Tab>,因此<C-i>~/.vim/plugin/settings/Settings.vim.

  3. 如果您想<C-i>正常工作,请不要覆盖它(或<Tab>)。简单的。

  4. 除非您有非常具体的理由这样做,否则您不需要在~/.gvimrc.

  5. 您的设置/映射的正常位置是~/.vimrc,没有正当理由将它们放在其他任何地方(~/.vim/plugin/settings/Settings.vim或任何地方)。

  6. nnoremap <C-+> <C-o>如果您想做<C-+>什么,请使用<C-o>,无论您认为这样做会获得什么好处。

于 2013-08-11T20:10:52.610 回答
4

Ye snipmate 正在添加映射。

谢谢@dfang。根据你的问题

我试图将 unmap 添加<c-i>到 ~/.gvimrc,但它失败了,当 macvim 启动时

我试着<C-i>改用它,它奏效了!

于 2016-02-18T15:42:56.750 回答