使用 Ctrl-I 跳转在我的 MacVim 中不起作用,但 Ctrl-O 有效?



使用 Ctrl 跳转 在我的 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

如何取回我的 Ctrl I,以及如何将 Ctrl O 重新映射到 Ctrl-(从 = 键向左(?

  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. 如果你想<C-+><C-o>做的事情,无论你认为你会从中获得什么好处,都使用nnoremap <C-+> <C-o>

Ye snipmate 正在添加映射。

谢谢@dfang。根据您的问题

我试图将取消映射<c-i>添加到~/.gvimrc,但是当macvim时失败了。 开始

我尝试使用<C-i>,它奏效了!

另一种方法是按 Ctrl-Shift-i(也是 Ctrl-Shift-o(。

较旧的键盘没有 TAB 键,因此 Ctrl-I 用于此目的,但对于 vim,我们似乎可以利用这一点:

Ctrl-i == TAB
Ctrl-Shift-i != Shift-TAB

最新更新