if-shell
Tmux의 명령을 사용할 때 tmux.conf
macOS 및 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"
}