Eu configurei tmux
para que ctrl
+ shift
+ left/right arrow
mova as janelas para a esquerda/direita em seu arranjo numérico.
Ou seja:
# ~/.tmux.conf
...
bind-key -n C-S-Left swap-window -t -1
bind-key -n C-S-Right swap-window -t +1
...
Isso funciona bem quando estou fisicamente no PC onde o tmux está sendo executado, mas não funciona quando estou ssh
no PC usando MobaXterm
.
Presumo que, como isso funciona quando estou fisicamente no PC, isso indica um problema com uma configuração do MobaXterm - há algo que eu possa definir para que ctrl
+ shift
+ left/right arrow
sejam "reconhecidos" da mesma maneira na MobaXterm
sessão ssh
de como são por meio de um -teclado conectado?
Eu tentei a resposta aceita para esta pergunta - não funcionou. Essa pergunta não é exatamente idêntica: era sobre ctrl
+ arrow
, não ctrl
+ shift
+ arrow
, então talvez seja necessário algum pequeno ajuste para essa resposta aceita, mas a sintaxe da linha é obtusa para mim - não consigo ver como seria necessário para ser modificado para suportar ctrl
+ shift
+ arrow
em vez de ctrl
+ arrow
(se for mesmo o que é necessário).
$ tmux -V
tmux 2.9a
Se você correr
cat
fora do tmux no MobaXterm, pressione CS-Esquerda, o que você vê? É diferente de quando você pressiona C-Esquerda ou pressiona Esquerda sem nenhuma tecla modificadora?SE for diferente para os três, você pode configurá-los. Caso contrário, você pode configurar apenas os que são exclusivos.
Você pode alterá-los em substituições de terminal, kRIT5 é C-Direita, kLFT5 é C-Esquerda, kUP5 é C-Cima, kDN5 é C-Baixo. Para CS-Right, use kRIT6, kLFT6 e assim por diante. Os números são:
S-Esquerda é kLFT simples - sem número - e o mesmo para S-Direita (kRIT) e assim por diante.
Portanto, para CS-Esquerda, você deseja kLFT6, kRIT6, kUP6, kDN6.
Por exemplo, para CS-Left, você pode ver (você não verá isso porque, se o fizesse, estaria funcionando, mas este é um exemplo):
Como eu disse acima, certifique-se de que seja único, muitos terminais não suportam todos os modificadores.
^[
é Escape, então ele entra em substituições de terminal como\E
.terminal-overrides é um conjunto de entradas separadas por vírgula. Cada entrada é uma lista de recursos separada por dois pontos. O primeiro é um padrão a ser comparado
TERM
.Você precisará garantir que o MobaXterm esteja usando um computador diferente
TERM
do seu computador local ou acabará substituindo o terminal local também. Se ambos estiverem usandoxterm
, tente fazer MobaXtermxterm-color
ou algo assim, ou copiexterm
fazendoinfocmp -x xterm >copy
e editando a cópia para alterar o nome no início (segunda linha antes do|
) e instale-o novamente comtic -x copy
. Obviamente, você precisará configurar o MobaXterm para definir isso diferenteTERM
(ou fazê-lo em seu perfil de shell com base em, por exemplo,SSH_CONNECTION
ou algo assim).Então você pode adicioná-los em substituições de terminal como este:
Certifique-se de reiniciar o tmux totalmente após alterar .tmux.conf ou desanexar e reanexar após alterar substituições de terminal de um tmux em execução.