Почему мои клавиши со стрелками не работают в vim под iTerm?


11

Они отлично работают, если я использую Terminal и начинаю сеанс vim, но в iTerm мне приходится прибегать к использованию HJKL для перемещения влево-вниз-вправо.

И в терминале, и в iTerm TERM = xterm-color. Мой .vimrcдовольно скудный, и там не установлены привязки клавиш, которые могли бы вызвать эту проблему.

iTerm v0.10.

Ответы:


5

Попробуйте следующее:

  1. В закладки пункт меню, выберите Управление закладками ... .
  2. Выберите закладку Default и щелкните значок редактирования.
  3. Измените настройку клавиатуры на Глобальную .

У меня та же проблема на iTerm2. Там нет меню Закладки :(
Вэй Ху

1
@Wei: они называются профилями в iTerm2. Профили -> Открыть профили ... и оттуда вы можете загрузить значения по умолчанию xterm для клавиатуры для профилей.
Ян С.

@ Ян, спасибо. Я нашел настройки, но загрузка значений по умолчанию для xterm не устранила проблему.
Вэй Ху

@WeiHu: Первоначальное предложение от sentinel состояло в том, чтобы загрузить настройку Global, а не xterm, и я ожидаю, что это перенесется на iTerm2 - я попробую, как только установлю iTerm2. Я знаю, что Ян С. написал xterm, но, возможно, это была опечатка.
Blaisorblade

Для iTerm2 есть раздел часто задаваемых вопросов: iterm2.com/#/section/faq Я использую «Report Terminal Type: xterm-256color» вместе со стандартными сочетаниями клавиш xterm; Вы можете попробовать те из Terminal.app, но сочетания клавиш, похоже, не связаны. Для меня единственной важной вещью было установить Alt, чтобы он вел себя как + Esc вместо Meta, но это не должно относиться к стрелкам (для меня это исправило Alt-B и друзей под экраном).
Blaisorblade

4

Следующее сработало для меня.

В iTerm2:

  • Профили -> Открытые профили ...
  • Редактировать профили ...
  • Вкладка «Ключи»
  • Из выпадающего меню Load Preset ... выберите совместимость с Terminal.app

Спасибо, Джеральд, ты Джентльмен и Сквайр.
Snickers3192

2

Вот как я исправил:

nnoremap <silent> <ESC>^[A <Nop>
nnoremap <silent> <ESC>^[B <Nop>
nnoremap <silent> <ESC>^[D <Nop>
nnoremap <silent> <ESC>^[C <Nop>

Замечания:

«^ [» Символы не должны быть набраны, вместо этого вы получите их, выполнив: - Vи нажав положение стрелки , соответствующее курсора (вверх, вниз, влево, вправо).

Протестировано с: iTerm2 (сборка 1.0.0.20140629)


1

Мне удалось разобраться с этим с помощью iTerm2 Build 3.0.15 и следующей выдержки из моего .vimrc:

" Map alternate key combination for Esc.
noremap <c-[> <Esc>
" Map arrow keys for nomal mode.
nnoremap <silent> <Esc><Up>A <Nop>
nnoremap <silent> <Esc><Down>B <Nop>
nnoremap <silent> <Esc><Right>C <Nop>
nnoremap <silent> <Esc><Left>D <Nop>

НТН.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.