O problema é duplo. Primeiro, tmuxpor padrão, converte as teclas de seta de controle de um tipo de sequência de escape para outro. Então, chaves especiais como as que controlleftsão enviadas vimsem o modificador, por exemplo left,. Se você cat -vver as diferentes seqüências de escape, poderá ver algo como isto
^[OD
contra isso (fora do tmux):
^[[1;5D
A linha
set-window-option -g xterm-keys on
corrige esse aspecto. A outra parte é que, tmuxpor padrão, usa a descrição do terminal para screen. Essa descrição do terminal não descreve as teclas de seta de controle. Essas entradas do banco de dados do terminal seriam as mais apropriadas para o VTE (gnome-terminal):
que seria selecionado automaticamente quando rodando em screense o correspondente TERMfora eram vte, vte-256coloretc. tmuxnão faz isso-seleção automática; você precisa modificar seu arquivo de configuração.
A propósito, não há entrada "screen.xterm" porque isso interferiria em alguns usos de screen. Não há conflito com TERM=xterm-new.
Se você possui um banco de dados de terminal padrão (mínimo), como ncurses-baseno Debian, talvez não o possua. Mais comum seria xterm-256color, que é próximo o suficiente para ser usado com o vim e o tmux.
Por exemplo, se eu adicionar isso ao meu .tmux.confarquivo, ele se comportará conforme o esperado no vim:
Hmmm ... Isso funciona :) Mas apenas parcialmente. Somente Control+ Leftestá funcionando; Control+ Rightnão é. Vou testar e atualizar mais tarde.
shivams
1
Você pode ter alguma outra ligação interferindo no controle + direito (dados fornecidos, posso oferecer conselhos).
Thomas Dickey
Obrigado pela oferta :) Eu investiguei um pouco e descobri que de fato algumas outras combinações de teclas estão causando interferência. Por exemplo, no meu Mac, isso funciona bem, enquanto no Linux (usando o Guake) não é. No entanto, estou fora da estação e não consigo acessar meu Linux. Vou atualizar quando resolver o problema.
shivams
@Thomam Dickey: Enquanto isso, estou aceitando sua resposta, pois de fato resolve o problema.
shivams
@ThomasDickey Eu gostaria de dizer "Go raibh míle maith agat", que em irlandês está literalmente traduzido como "Que você tenha mil coisas boas". Muito obrigado por esta resposta. VocÊ e uma estrela.
Rob
2
A partir daqui, você pode desatar a combinação de teclas no byobu:
Crie um arquivo ~/.byobu/.tmux.confcom (ou adicione se o arquivo existir):
set-window-option -g xterm-keys on
Em seguida, adicione o seguinte a ~/.byobu/keybindings.tmux:
Control
+Left
está funcionando;Control
+Right
não é. Vou testar e atualizar mais tarde.A partir daqui, você pode desatar a combinação de teclas no byobu:
Crie um arquivo
~/.byobu/.tmux.conf
com (ou adicione se o arquivo existir):Em seguida, adicione o seguinte a
~/.byobu/keybindings.tmux
:fonte