Eu tenho uma solução sem a necessidade de scripts externos. Coloque o seguinte em seu arquivo .tmux.conf:
bind i command-prompt -p 'Insert window at:' 'run-shell "if tmux select-window -t %1; then tmux new-window -a; tmux swap-window -s %1 -t \$((%1+1)); else tmux new-window; tmux move-window -t %1; fi; tmux select-window -t #I; tmux select-window -t %1;"'
Pressione [PREFIX] -i e forneça o local desejado para a inserção. Os últimos 2 comandos da janela de seleção garantem que a janela 'anterior' esteja definida conforme o esperado e você vá para a janela inserida.
EDIT: ok, eu falei muito cedo. Eu tive que mudar #I
para #{window_id}
porque o índice da janela muda para algumas janelas na inserção. A nova função (com novas linhas adicionadas para facilitar a leitura):
bind i command-prompt -p 'Insert window at:' ' \
run-shell " \
if tmux select-window -t %1; then \
tmux new-window -a; \
tmux swap-window -s %1 -t \$((%1+1)); \
else \
tmux new-window; \
tmux move-window -t %1; \
fi; \
tmux select-window -t #{window_id}; \
tmux select-window -t %1; \
"'
Comecei a usar uma versão simplificada, através dos 2 comandos a seguir em .tmux.conf:
bind i command-prompt -p 'Insert window at:' 'new-window -a -t %1; swap-window -t -1'
bind I command-prompt -p 'New window at:' 'new-window -t %1'
O prefixo-i insere uma nova janela na posição x quando a janela x existe e move as janelas acima dessa para cima. O prefixo-I cria uma nova janela na posição x quando a janela x não existe.