7

При запуске vim внутри терминала в Ubuntu, я могу использовать Ctrl + Page Up или Page Down для переключения между вкладками vim. Как мне настроить это для Terminal.app или iTerm2 для Mac OS X? У меня есть Macbook Air (2011), поэтому у меня нет «правильных» клавиш Page Up и Page Down , если это имеет значение.

Я пытался настроить различные коды перехода, но пока ничего не работает.

РЕДАКТИРОВАТЬ: У меня нет привилегий, чтобы ответить на мой собственный вопрос, но вот ответ:

ОТВЕТ:

Я нашел правильные escape-последовательности. В настройках клавиатуры Terminal.app

установите "control page up" в "send string to shell:", со следующим значением: "\033 [5; 5 ~"

установите "control page down" в "send string to shell:", со следующим значением: "\033 [6; 5 ~"

2 ответа2

9

Если у вас на клавиатуре нет настоящих клавиш pageup и pagedown то нет возможности сопоставить их с чем-либо.

  • <C-PageDown> является альтернативой :tabnext :tabn и gt .
  • <C-PageUp> является альтернативой :tabprevious :tabN и gT .

Я настоятельно рекомендую вместо этого использовать gt и gT , они следуют грамматике Vim (строчная буква для "команд вперед", прописная буква для "команд назад") и поэтому их очень легко запомнить.

Если вам не нравятся gt/gT вы можете сопоставить их с чем-то на свой вкус:

nnoremap <C-Up> gT
nnoremap <C-Down> gt

Но я не думаю, что это необходимо.

Ваш пример (клавиатура без PageUp/PageDown ), кажется, является довольно хорошим примером интеллектуальных, казалось бы, странных дизайнерских решений Vim.

--EDIT (согласно запросу аскера)-

Я нашел правильные escape-последовательности. В настройках клавиатуры Terminal.app

установите "control page up" в "send string to shell:", со следующим значением:"\033 [5; 5 ~"

установите "control page down" в "send string to shell:", со следующим значением:"\033 [6; 5 ~"

5

Исходя из ответа Рамна и просто для справки, вот как можно решить эту проблему в iTerm2:

  1. Перейти в iTerm / Preferences... / Profiles / Keys
  2. Нажмите кнопку + , чтобы добавить ярлык профиля
  3. Используйте ярлык: ^Page Up , действие: "Send Escape sequence", значение [5;5~
  4. Используйте ярлык: ^Page Down , действие: "Send Escape sequence", значение [6;5~

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .