在我的MacVim中,使用Ctrl-I跳转不起作用,但使用Ctrl-O跳转可以吗?

ndasle7k  于 2022-11-24  发布在  Mac
关注(0)|答案(3)|浏览(172)

在我的Vim中,使用CtrlI跳转不起作用,但使用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,以及如何将CtrlO重新Map到Ctrl-(=键左侧)?

v1l68za4

v1l68za41#

  1. <C-i><Tab>严格等价。
    1.您正在主动覆盖<Tab>,因此在~/.vim/plugin/settings/Settings.vim中覆盖了<C-i>
    1.如果你想让<C-i>正常工作,不要覆盖它(或<Tab>)。
    1.除非您有一个 * 非常 * 具体的理由这样做,否则您不需要在~/.gvimrc中放置任何内容。
    1.您的设置/Map的正常位置是~/.vimrc,没有有效的理由把它们放在其他任何地方(~/.vim/plugin/settings/Settings.vim或任何地方)。
    1.如果您希望<C-+>执行<C-o>所执行的操作,请使用nnoremap <C-+> <C-o>,无论您认为这样做可以获得什么好处。
u5rb5r59

u5rb5r592#

你的狙击手正在添加Map。
谢谢@dfang根据你的问题
我尝试将unmap <c-i>添加到~/.gvimrc,但是失败了,当macvim启动时
我试着用<C-i>代替,它起作用了!

rkkpypqq

rkkpypqq3#

另一种方法是按Ctrl-Shift-i组合键(也可以按Ctrl-Shift-o组合键)。
旧键盘没有TAB键,所以Ctrl-I用于此目的,但对于Vim,似乎我们可以利用这一点:

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

相关问题