
Cuando uso el comando de Tmux if-shell
en tmux.conf
, termino con comandos realmente largos, como el siguiente para integrar Tmux con el portapapeles del sistema en macOS y 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\""
¿Es posible escribir comandos en tmux.conf
varias líneas? Intenté usarlo \
para abarcar varias líneas, pero no funciona.
Respuesta1
De acuerdo a man tmux
:
Cada comando termina con una nueva línea o un punto y coma (;).
Por lo tanto, puede parecer que no se trata de insertar una nueva línea en un comando.
Sin embargo, los argumentos del comando pueden contener nuevas líneas, que se pueden usar para abarcar un comando en varias líneas:
' ... \
o " ... \
:
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.
Ejemplo:
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"
}