开发者

Cannot jump to newer position in jump list

开发者 https://www.devze.com 2023-01-18 05:09 出处:网络
For some reason, I cannot jump forward with <C-I>; gives me the error beep. <C-O> works just fine.

For some reason, I cannot jump forward with <C-I>; gives me the error beep. <C-O> works just fine.

I don't see开发者_开发知识库 any remapping going on either. Any ideas what might be the problem?

I'm using vim 7.3 on win7

EDIT: I just found out <C-I> does the same as %! I still can't figure out how to fix it though.


Why does having <TAB> mapped affect <C-I>? The short answer is, "historical reasons", dating from even before the original 'vi'.

The ASCII code for <TAB> is 9, same as <CTRL-I>. Since terminals receive their input encoded in ASCII, they can't tell whether that "TAB" signal came from the actual <TAB> key, or from the user holding CTRL and pressing I. Since Vim was originally written to run on terminals, it can't tell the difference either.

A couple of other pairs of indistinguishable keys are <C-M> with <Return>, and <C-[> with <Esc>.

It's possible there's some arcane way to tell the difference between the two (more likely if you're using GVim), but if there is, I don't know it. As a workaround, you could use nnoremap <SomeOtherKey> <C-I> to give <C-I>'s original function to some other key.


I found a fix for the problem, but I don't know why it works..

I had <TAB> mapped to %. By removing this, <C-I> works as normal.

Any idea why this works...?

0

精彩评论

暂无评论...
验证码 换一张
取 消