Todd Freed benar, cara "benar" untuk melakukan ini adalah menggunakan \;. Semacam. Tapi ada halangan.
Anda lihat, Anda bergabung dengan urutan perintah tmux bersama dengan memberikan tmux konjungsi ;. Dengan demikian, dalam file yang bersumber dari tmux, Anda mungkin mengatakan
new-session "monitor1" ; split-window -v "monitor2"
jika, karena suatu alasan, Anda menginginkan itu semua dalam satu jalur. Sekarang, Anda dapat memberikan bahwa satu-baris pernyataan majemuk dengan tmuxperintah dari shell juga tapi yang ;harus melarikan diri sehingga menafsirkan shell sebagai argumen lain untuk tmux. Jadi, yang setara dengan yang di atas dari shell adalah
$ tmux new-session "monitor1" \; split-window -v "monitor2"
Demikian pula, bind-keyperintah tmux mengambil serangkaian argumen yang merupakan perintah tmux dan argumen untuk dijalankan ketika tombol ditekan. Jika Anda ingin mengikat C-qurutan di atas dari dalam file yang bersumber dari tmux, Anda akan mengatakannya
bind-key -n C-q new-session "monitor1" \; split-window -v "monitor2"
Di sini kita telah lolos ; dari tmux , sehingga tmux tidak menafsirkannya sebagai akhir dari bind-keyperintah, tetapi sebagai argumen lain untuk bind-keymengatakannya untuk membentuk perintah majemuk sebagai nilai terikat C-qkunci.
Jadi apa yang terjadi ketika kita ingin membuat tmux melakukan itu dari shell? Banyak yang melarikan diri.
$ tmux bind-key -n C-q new-session "monitor1" \\\; split-window -v "monitor2"
Pertama, kita harus melarikan diri \ dan; masing - masing dari shell , menyebabkan shell untuk melewati dua karakter \;sebagai argumen tmux. Ini kemudian lolos ;dari tmux, menyebabkannya menetapkan seluruh pernyataan majemuk sebagai pengikatan C-q.
Sekarang, semua yang dikatakan, jika Anda menggunakan pengaturan tmux yang kompleks seperti ini berulang kali, saya sarankan Anda membuat file tmux untuk menyimpannya di:
# In split-windows.tmux:
new-session "monitor1"
split-window -v "monitor2"
bind-key -n C-s new-window "monitor4"
# ...etc...
Lalu:
$ tmux source split-windows.tmux # (or even make an alias for this)
Akan jauh lebih mudah untuk mempertahankannya.
\;:$ tmux bind-key -n C-q new-session "monitor1" '\;' split-window -v "monitor2"