Używanie Ctrl + B w mniej w ramach tmux

17

Używam Ctrl+Bprzedrostka polecenia in tmux, jednak koliduje on z Ctrl+Bin less, który służy do przewijania pliku w górę.

Jak mogę to uruchomić? Czy muszę ustawić inny prefiks polecenia tmux? Naprawdę nie chcę uczyć się nowych skrótów klawiszowych, jeśli mogę tego uniknąć.

dogbane
źródło

Odpowiedzi:

18

Oczywiście nie można mieć dwóch klawiszy, które robią to samo, gdy oba programy nasłuchują. Tmux zdobędzie go pierwszy. Nie określiłeś zestawu powiązań klawiszy, których nie chcesz ponownie się uczyć, ale musisz zrobić coś innego, ponieważ ten sam klucz jest używany w obu aplikacjach.

Jeśli używasz go tylko sporadycznie less, możesz po prostu przekazać prawdziwą rzecz, naciskając Ctrl+ BB(czyli dwa razy Ctrl-B), tmuxaby przekazać pojedyncze Ctrl-B do aplikacji w bieżącym okienku.

Jeśli chcesz zmienić tmuxpowiązanie na coś innego (powiedzmy jak Ctrl+ Alubię screen), możesz dodać to do pliku `~ / .tmux.conf:

unbind C-b
set -g prefix C-a

Jeśli chcesz użyć czegoś innego less, Gklucz zwykle musi już przejść na górę pliku, więc nie trzeba wprowadzać żadnych zmian. Jeśli ta zmiana Ci nie odpowiada, możesz ponownie powiązać klucze za pomocą lesskey.

Caleb
źródło
Jeśli zmienię wiązanie tmux na Ctrl+A, będzie to kolidować z początkiem polecenia. Mam również „Ctrl + B + B” związany z wcześniej wybranym oknem.
dogbane
1
@Caleb: W moim tmux(Ubuntu 11.04 z domyślną konfiguracją) „Ctrl + B B” nic nie robi (ani nie jest udokumentowane na stronie podręcznika); trzeba użyć „Ctrl + B Ctrl + B”, aby wysłać Ctrl + B do aplikacji. (W przeciwieństwie screendo tego domyślnie jest używane „Ctrl + A A” do wysłania „Ctrl + A” do aplikacji.) Doskonała odpowiedź.
Riccardo Murri,
1
@RiccardoMurri: To problem z nomenklaturą. Nie zostawiłem spacji między Bklawiszami, które wskazywałyby na odpuszczenie kontroli. Zwykle w przypadku klawiszy o takim stylu można wstawić spację lub przecinek między klawiszami, jeśli klawisz kontrolny ma zostać zwolniony, ale nie jest to dobrze zdefiniowany standard. Niektórzy nawet nie używają tej samej +składni ...
Caleb,
@dogbane: Jeśli ponownie powiążesz podwójny CTRL-B z czymś innym niż domyślny, to twoja wina i albo będziesz musiał to zmienić, mapować przejście przez CTRL-B na coś innego lub użyć innego klucza za mniej.
Caleb,
2
@dogbane Używam Ctrl+\ , ale jest to oczywiście kwestia osobistych preferencji. Nie spodoba ci się mój wybór, jeśli nie potrafisz pisać Ctrl+\ na klawiaturze bez zniekształceń palców.
Gilles „SO- przestań być zły”,
17

W tmux z domyślną konfiguracją dwukrotne naciśnięcie Ctrl + B wysyła jeden Ctrl + B do aplikacji.

Riccardo Murri
źródło
6

Możesz użyć polecenia tmux send-prefix. Wyśle twój prefiks wiązania klucza tmux do bieżącego okna

Na przykład w .tmux.conf:

set-option -g prefix C-a
bind-key v send-prefix

Następnie naciśnięcie Ctrl-a+ vwyśle Ctrl-ado terminala.

diabloneo
źródło
0

Możesz spróbować użyć Page Up;)

Simon D.
źródło