Como deixar Ctrl + Page Down alternar as abas dentro do Vim no Terminal.app?

7

Ao rodar o vim dentro do Terminal no Ubuntu, eu posso usar Ctrl + Page Up ou Page Down para alternar entre as abas do vim. Como configuro isso para Terminal.app ou iTerm2 para Mac OS X? Eu tenho um Macbook Air (2011), então eu não tenho as chaves 'proper' Page Up e Page Down , se isso importa.

Eu tentei configurar vários códigos de escape, mas até agora nada funciona.

EDIT: Eu não tenho privs para responder a minha própria pergunta, mas aqui está a resposta:

RESPOSTA:

Eu encontrei as seqüências de escape corretas. Nas configurações do teclado do Terminal.app,

definir "page up de controle" para "enviar string para shell:", com este valor: "\ 033 [5; 5 ~"

defina "control page down" para "send string to shell:", com este valor: "\ 033 [6; 5 ~"

    
por ramn 14.08.2011 / 14:49

2 respostas

9

Se você não tem as chaves pageup e pagedown reais no seu teclado, não há como mapeá-las para nada.

  • <C-PageDown> é uma alternativa para :tabnext , :tabn e gt .
  • <C-PageUp> é uma alternativa para :tabprevious , :tabN e gT .

Eu sugiro strongmente que você use gt e gT , eles seguem a gramática do Vim (letra minúscula para "comandos para frente", letras maiúsculas para "comandos para trás") e são muito fáceis de memorizar.

Se você não gosta de gt/gT , pode mapeá-los para algo mais a seu gosto:

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

Mas não acho que seja necessário.

Seu exemplo (um teclado PageUp/PageDown -less) parece ser um bom exemplo da inteligência das decisões aparentemente esquisitas do Vim.

- EDIT (de acordo com o pedido do solicitante) -

I found the correct escape sequences. In Terminal.app's keyboard settings,

set "control page up" to "send string to shell:", with this value: "3[5;5~"

set "control page down" to "send string to shell:", with this value: "3[6;5~"

    
por 14.08.2011 / 15:26
5

Com base na resposta do ramn e apenas como referência, é como resolver esse problema em iTerm2 :

  1. Ir para iTerm / Preferences... / Profiles / Keys
  2. Pressione o botão + para adicionar um atalho ao perfil
  3. Use o atalho: ^Page Up , ação: "Enviar sequência de escape", valor [5;5~
  4. Use o atalho: ^Page Down , ação: "Enviar sequência de escape", valor [6;5~
por 22.11.2011 / 04:46