Mengikat perintah di tmux tanpa menggunakan kunci awalan

46

Apakah mungkin untuk mengikat perintah tmux ke kombinasi tombol dan menggunakannya langsung tanpa terlebih dahulu menekan awalan?

Saya merasa C-b + nterlalu rumit untuk beralih panel, jadi saya bertanya-tanya apakah saya bisa mengikat C-1misalnya, untuk beralih ke panel # 1.

Atau mungkin ada cara untuk membuat pintasan di emulator terminal untuk dikirim C-b + 1ketika saya menekan C-1?

Terima kasih!

Ivan
sumber
1
Saya hanya menggunakan set -g prefix C-a.
grawity
Saya juga, saya hanya menaruh Cb pada pertanyaan saya karena itu default.
Ivan

Jawaban:

46

untuk contoh Anda, gunakan:

bind-key -n C-1 select-pane -t 1

argumen -n ke bind-key berarti tidak ada awalan.

Autoplektik
sumber
1
Terima kasih! Itu hampir menyelesaikannya, kecuali ia tidak mengenali angka, katanya unknown key: C-1. Jika saya menggunakan surat itu berfungsi. Apakah Anda tahu bagaimana saya bisa menentukan kunci angka?
Ivan
6
@Van: Kode biasa untuk penekanan tombol kontrol berasal dari ASCII. ASCII tidak mendefinisikan kode untuk C-1..C-9. Karakter kontrol ASCII standar adalah C- @, Ca..Cz, C- [, C- \, C-], C- ^, C-_, dan C- ?. Sebagian besar terminal tidak mendukung kode yang berbeda untuk penekanan tombol yang paling dimodifikasi (meskipun banyak yang mendukung beberapa pengubah untuk tombol panah dan tombol fungsi). Anda mungkin lebih baik menggunakan F1di tempat C-1(juga perhatikan bahwa nomor panel mulai dari 0, bukan 1: bind F1 untuk memilih panel 0, F2 ke 1, dll).
Chris Johnsen
2

Saya memiliki pertengkaran dengan jawaban yang diterima di sini.

Menurut tmux(1), -n is an alias for -T root. Jadi termasuk -ntidak benar-benar berarti bahwa "tidak ada awalan" sebanyak itu berarti perintah akan terikat ke tabel root, yang "tidak direkomendasikan".

tmux(1):

Tabel akar digunakan untuk tombol yang ditekan tanpa kunci awalan: mengikat 'c' ke jendela baru di tabel akar (tidak disarankan) berarti polos 'c' akan membuat jendela baru

Apa yang tampaknya dikatakan adalah:

bind -n c new-window

Akan membuat jendela baru ketika cditekan, dan memang itu terjadi.

Humor kering dalam frasa penulis "tidak direkomendasikan" adalah fakta bahwa "c" tentu saja akan ditekan berkali-kali dalam sesi tmux rata-rata, mengingat bahwa "c" adalah huruf ketiga yang paling sering dalam bahasa Inggris .

Untuk contoh lain, berikut adalah perpindahan jendela tmux cepat (menggunakan kunci PageUp / PageDown):

unbind NPage
unbind PPage
bind -n PPage previous-window
bind -n NPage next-window
g33kz0r
sumber