Exportar buffer de nomeação dinamicamente no tmux

3

Estou cansado de tentar fazer com que o tmux scollback trabalhe com o iTerm2 e meu keymapping de escolha. Tendo percebido que posso despejar buffers em arquivos de texto, acho que isso não é mais necessário, ou mesmo particularmente desejável. Atualmente, minha ligação para alcançar esse efeito é a seguinte:

bind B capture-pane -S -999000 \; save-buffer ~/.tmux/buffers/filename

Claro, esse arranjo me leva a perder filename toda vez que eu despejo um buffer. O que seria muito mais nítido é um formato de nomenclatura de buffer de $PANE-NAME_YYYY-MM-DD_HH:MM:SS (onde a data e a hora são on-dump atuais).

Examinei tmux(1) e, embora observe algumas variáveis disponíveis, incluindo os tempos relacionados à atividade do cliente, não consegui expandi-las com êxito no nome do arquivo em .tmux.conf e não acho que isso é realmente o que eu estou procurando de qualquer maneira.

Tenho quase certeza de que estou perdendo algo óbvio, mas a essa altura passei tanto tempo procurando por ele que não tenho certeza se o reconheceria se o fizesse veja. Qualquer ajuda aqui seria muito apreciada.

    
por tripleplus 24.01.2015 / 05:32

1 resposta

2

Você pode conseguir isso fazendo tmux executá-los como comandos shell, com a instrução run-shell (com alias para run ) e algumas citações adicionais:

bind B run "tmux capture-pane -S -999000; tmux save-buffer ~/.tmux/buffers/\"$(date +%d%m%y)\""

Isso salvará sua saída do buffer como ~/.tmux/buffers/240115 . Obviamente, você pode personalizar o comando date para fornecer o grau de granularidade necessário.

Em relação ao uso do pane_title : se você ler a seção FORMATS da página man, ele afirma:

Certain commands accept the -F flag with a format argument.

Infelizmente, save-buffer não é um desses comandos.

Você pode, no entanto, usar o comando list-panes para recuperar o nome da janela atual:

bind B run "tmux capture-pane -S -999000; tmux save-buffer ~/.tmux/buffers/\"$(tmux list-panes -F '#{window_name}')\"_\"$(date +%d%m%y)\""

que retornará, por exemplo: ~/.tmux/buffers/zsh_240115 .

    
por 24.01.2015 / 06:53

Tags