Невозможно перейти на более новую позицию в списке переходов - PullRequest
1 голос
/ 02 октября 2010

По какой-то причине я не могу прыгнуть вперед с <C-I>;выдает мне звуковой сигнал ошибки<C-O> работает просто отлично.

Я также не вижу, чтобы происходило какое-либо переназначение.Есть идеи, в чем может быть проблема?

Я использую vim 7.3 на win7

РЕДАКТИРОВАТЬ: я только что узнал, <C-I> делает то же самое, что %!Я до сих пор не могу понять, как это исправить.

Ответы [ 2 ]

2 голосов
/ 03 октября 2010

Почему отображение <TAB> влияет на <C-I>?Краткий ответ - «исторические причины», датируемые еще до первоначального «vi».

Код ASCII для <TAB> равен 9, так же, как <CTRL-I>.Поскольку терминалы получают свои входные данные, закодированные в ASCII, они не могут определить, поступил ли этот сигнал «TAB» от фактической клавиши <TAB> или от пользователя, удерживающего CTRL и нажимающего I.Поскольку Vim изначально был написан для работы на терминалах, он также не может определить разницу.

Пару других пар неразличимых клавиш составляют <C-M> с <Return> и <C-[> с <Esc>.

Возможно, есть какой-то загадочный способ определить разницу между ними (более вероятно, если вы используете GVim), но если есть, я этого не знаю.В качестве обходного пути вы можете использовать nnoremap <SomeOtherKey> <C-I>, чтобы присвоить исходную функцию <C-I> какой-либо другой клавише.

0 голосов
/ 02 октября 2010

Я нашел решение проблемы, но я не знаю, почему она работает ..

У меня <TAB> сопоставлено с %.Удаляя это, <C-I> работает как обычно.

Есть идеи, почему это работает ...?

...