
Ao usar o comando do Tmux if-shell
no tmux.conf
, acabo com comandos bem longos, como o abaixo para integração do Tmux com a área de transferência do sistema no macOS e Linux:
if-shell "[[ $(uname -s) = Linux ]]" "bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel \"pbcopy\"" "bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel \"xclip -in -selection clipboard\""
É possível escrever comandos em tmux.conf
várias linhas? Tentei usar \
para abranger várias linhas, mas não funciona.
Responder1
De acordo com man tmux
:
Cada comando é finalizado por uma nova linha ou ponto e vírgula (;).
Assim, pode parecer que não é para inserir uma nova linha em um comando.
No entanto, os argumentos do comando podem conter novas linhas, que podem ser usadas para abranger um comando em várias linhas:
' ... \
ou " ... \
:
If the last character of a line is \, the line is joined with the following line (the \ and the newline are completely removed).
( { ... }
):
Braces are similar to single quotes in that the text inside is taken literally without any replacements but this also includes line continuation.
Exemplo:
if-shell '[[ $(uname -s) = Linux ]]' {
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
} {
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
}