Можно ли разделить команду в tmux.conf на несколько строк?

Можно ли разделить команду в tmux.conf на несколько строк?

При использовании команды Tmux if-shellв tmux.conf, у меня получаются очень длинные команды, как, например, приведенная ниже для интеграции Tmux с системным буфером обмена в macOS и 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\""

Можно ли писать команды в tmux.confнесколько строк? Я пробовал использовать \для охвата нескольких строк, но это не работает.

решение1

В соответствии с man tmux:

Каждая команда завершается символом новой строки или точкой с запятой (;).

Таким образом, может показаться, что в команду не нужно вставлять символ новой строки.

Однако аргументы команды могут содержать символы новой строки, которые можно использовать для распределения команды по нескольким строкам:

' ... \или " ... \:

 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.  

Пример:

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" 
}

Связанный контент