tmux.confのコマンドを複数行に分割できますか?

tmux.confのコマンドを複数行に分割できますか?

if-shellTmuxのコマンドを使用すると、tmux.confmacOSとLinuxのシステムクリップボードとTmuxを統合するために、次の非常に長いコマンドが生成されます。

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

おすすめ記事