Cria um comando personalizado no tmux

3

Eu sei como ligar uma chave a um comando no tmux, mas quero criar um comando personalizado (que você pode digitar com a tecla de prefixo + dois-pontos). Neste comando personalizado, quero executar alguns outros comandos.

Minha ideia é ter algo assim:

no-side-status() {
    set status-left-length 0
    set status-right-length 0
}

side-status() {
    set status-left-length 50
    set status-right-length 150
}

Portanto, posso digitar :no-side-status para ocultar as barras de status esquerda e direita e digitar :side-status para restaurar as barras de status esquerda e direita.

É possível criar esses comandos personalizados? Se sim como? Se não, alguma outra maneira de conseguir o que eu quero?

    
por gitaarik 17.10.2014 / 17:13

3 respostas

1

Originalmente, o tmux não tem nenhum suporte para comandos personalizados, exceto para executar scripts de shell externos.

Há um mod adicionando suporte de script completo ao tmux: link

Também permite criar comandos de usuário. Por exemplo, o seu pareceria:

proc no-side-status {} {
    set status-left-length 0
    set status-right-length 0
}

proc side-status {} {
    set status-left-length 50
    set status-right-length 150
}

Para usar a partir da linha de comando do tmux, digite C-b : e side-status ou no-side-status .

Para ligá-lo a uma chave use bind C-p tcl side-status .

    
por 19.04.2016 / 02:35
0

bind C-p run "/usr/bin/notify-send Foo"

    
por 28.01.2015 / 12:39
0

Esta é a resposta completa. Você pode ter duas configurações do tmux. Um contém

set status-left-length 0
set status-right-length 0
bind-key R source-file ~/.tmux.alternative.conf \; \
                    display-message "Alternative configuration loaded"

O outro contém

set status-left-length 50
set status-right-length 15
bind-key R source-file ~/.tmux.conf \; \
                    display-message "Default configuration loaded"
    
por 28.01.2015 / 13:35

Tags