Por padrão, o tmux passa pela borda de um painel. Por exemplo, suponha que haja dois painéis pane 1
e pane 2
. Suponha que você está em pane 1
e você faz Ctrl+b →, você está no pane 2
. Se você fizer isso novamente Ctrl+b →, você estará novamente em pane 1
. Como posso desabilitar esse recurso para que, quando estiver navegando a partir do último painel, não vá a lugar nenhum?
relate perguntas
-
script bash para iniciar outro script em uma sessão tmux
-
É possível enviar entrada para uma sessão tmux sem se conectar a ela?
-
tmux e problema de caractere de sequência de controle
-
Bash - Receba a entrada do usuário e envie um comando com essa entrada no tmux
-
Ecoar algo de uma sessão do tmux para a sessão base
Este é um pouco de um hack, mas pode ser bom o suficiente para você. A partir da versão 2.3, você pode encontrar as coordenadas xey das bordas de cada painel. Por exemplo,
display -p #{pane_right}
para um painel na borda direita de um terminal de 80 colunas seria 79. Se você der o comando para mover para a direita para o próximo painel, e o novo painelpane_right
for, por exemplo, 39, então você moveu para a esquerda , então você vai querer voltar para o painel anterior comselect-pane -l
.Você pode executar a maioria dos comandos tmux a partir de um shell script, então crie o seguinte arquivo
mytmux
em seu PATH e torne-o executável (chmod +x mytmux
):em seguida, configure as seguintes ligações em seu
~/.tmux.conf
:Você precisará estender isso se quiser lidar com várias sessões, por exemplo.
As PrefixArrowchaves são por padrão vinculadas como
A
select-pane
função não tem uma opção que diga "não faça o ciclo quando chegar ao último painel nessa direção".Olhando para o código-fonte que é executado para
select-pane
, parece que o ciclo esquerdo/direito e superior/inferior está codificado, o que significa que é improvável que seja fácil impedir que ele se comporte dessa maneira.