Posso obter meus key combos iTerm trabalhando no tmux?

0

Eu tenho algumas teclas de atalho definidas no iTerm e as uso para mapeamentos de teclas no Vim.

Por exemplo, mapeio Ctrl-Enter para enviar um código de escape ^[O2P , que depois uso para definir um mapeamento de chave Ctrl-Enter no meu Vim:

set       <F13>=O2P
map       <F13> <C-CR>
inoremap <C-CR> <C-O>o

Funciona em uma sessão regular do iTerm e em uma sessão de tela, mas não em uma sessão do tmux. Como posso consertar isso para trabalhar com o tmux? Estou fazendo a transição para longe da tela e realmente aproveitando o tmux, além desse problema.

    
por ivan 09.09.2014 / 05:00

1 resposta

1

Eu consegui isso funcionando, ajustando os códigos de escape para assistir no meu .vimrc . Eu ainda gostaria de ter uma melhor compreensão de como tudo isso funciona, e por que a seqüência enviada pelo tmux é diferente do que é enviado fora do tmux, mas isso tem tudo funcionando:

if &term =~ "screen"
  set  <F13>=[1;2P
  set  <F14>=[1;2Q
  set  <F15>=[1;2R
  set  <F16>=[1;2S
  set  <F17>=[1;5P
  set  <F18>=[1;5Q
  set  <F19>=[1;5R
  set  <F20>=[1;5A
  set  <F21>=[1;5B
elseif &term =~ "xterm"
  set  <F13>=O2P
  set  <F14>=O2Q
  set  <F15>=O2R
  set  <F16>=O2S
  set  <F17>=O5P
  set  <F18>=O5Q
  set  <F19>=O5R
  set  <F20>=[1;5A
  set  <F21>=[1;5B
endif

" use some unused function key codes to
" make special key combos work in terminal
map  <F13> <C-CR>
map! <F13> <C-CR>
map  <F14> <S-CR>
map! <F14> <S-CR>

map  <F15> <C-Space>
map! <F15> <C-Space>
map  <F16> <S-Space>
map! <F16> <S-Space>

map  <F17> <C-BS>
map! <F17> <C-BS>

map  <F18> <M-Tab>
map! <F18> <M-Tab>
map  <F19> <M-S-Tab>
map! <F19> <M-S-Tab>

map  <F20> <C-Up>
map! <F20> <C-Up>
map  <F21> <C-Down>
map! <F21> <C-Down>
    
por 09.09.2014 / 18:39