Powiązanie polecenia w tmux bez użycia klucza prefiksu

45

Czy można powiązać polecenie tmux z kombinacją klawiszy i użyć go bezpośrednio bez uprzedniego naciśnięcia prefiksu?

Uważam, że C-b + nzbyt kłopotliwa jest zmiana paneli, więc zastanawiałam się, czy mogłabym powiązać C-1na przykład przejście do okienka nr 1.

A może istnieje sposób, aby skrót w emulatorze terminali był wysyłany C-b + 1po naciśnięciu C-1?

Dzięki!

Ivan
źródło
1
Po prostu używam set -g prefix C-a.
grawity 27.01.11
Ja też, po prostu postawiłem Cb na moje pytanie, ponieważ to jest domyślne.
Ivan

Odpowiedzi:

45

na przykład użyj:

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

argument -n argumentu bind-key oznacza brak prefiksu.

Autoplektyka
źródło
1
Dzięki! To prawie koniec, z wyjątkiem tego, że nie rozpoznaje liczb, mówi unknown key: C-1. Jeśli użyję listu, to działa. Czy wiesz, jak mogę podać klucz numeryczny?
Ivan
6
@Ivan: Zwykłe kody klawiszy sterujących pochodzą z ASCII. ASCII nie definiuje kodów dla C-1..C-9. Standardowe znaki kontrolne ASCII to C- @, Ca..Cz, C- [, C- \, C-], C- ^, C-_ i C- ?. Większość terminali po prostu nie obsługuje odrębnych kodów dla większości zmodyfikowanych naciśnięć klawiszy (choć wiele obsługuje niektóre modyfikatory klawiszy strzałek i klawiszy funkcyjnych). Prawdopodobnie lepiej jest użyć F1zamiast C-1(zauważ również, że numery okien zaczynają się od 0, a nie 1: powiąż F1 z wybieraniem panelu 0, F2 do 1 itd.).
Chris Johnsen
2

Mam tutaj spór z zaakceptowaną odpowiedzią.

Według tmux(1), -n is an alias for -T root. Tak więc włączenie -nnie oznacza tak naprawdę, że „nie ma przedrostka”, ale oznacza, że ​​polecenie zostanie powiązane z tabelą główną, co jest „niezalecane”.

tmux(1):

Tabela główna jest używana dla klawiszy wciśniętych bez klucza prefiksu: powiązanie „c” z nowym oknem w tabeli głównej (niezalecane) oznacza, że ​​zwykłe „c” utworzy nowe okno

Wydaje się, że to mówi:

bind -n c new-window

Po cnaciśnięciu utworzy nowe okno i rzeczywiście tak jest.

Suchy humor w zdaniu autora „niezalecane” to fakt, że „c” będzie oczywiście naciskane wiele razy podczas przeciętnej sesji tmux, biorąc pod uwagę, że „c” jest trzecią pod względem częstotliwości literą w języku angielskim .

Innym przykładem jest szybkie przełączanie okien tmux (za pomocą klawiszy PageUp / PageDown):

unbind NPage
unbind PPage
bind -n PPage previous-window
bind -n NPage next-window
g33kz0r
źródło