Mit Strg + B in weniger als tmux

17

Ich verwende das Ctrl+BBefehlspräfix in tmux, allerdings kollidiert dies mit Ctrl+Bin less, das zum Scrollen einer Datei verwendet wird.

Wie kann ich das zum Laufen bringen? Muss ich ein anderes Befehlspräfix eingeben tmux? Ich möchte wirklich keine neuen Tastenkombinationen lernen müssen, wenn ich das vermeiden kann.

Dogbane
quelle

Antworten:

18

Offensichtlich können Sie nicht zwei Tasten haben, die dasselbe tun, wenn beide Programme lauschen. Tmux wird es zuerst bekommen. Sie haben nicht angegeben, welche Tastenzuordnungen Sie nicht erneut lernen möchten, aber Sie müssen etwas anderes tun, da für beide Apps derselbe Schlüssel verwendet wird.

Wenn Sie es nur gelegentlich in verwenden less, können Sie es einfach durch Drücken von Ctrl+ BB(das ist zweimal Strg-B) weitergeben tmux, um ein einzelnes Strg-B an die App im aktuellen Bereich weiterzuleiten.

Wenn Sie das ändern möchten tmuxverbindlich sein , etwas anderes (sagen wie Ctrl+ Awie screen) Sie diese hinzufügen können , um Ihre `~ / .tmux.conf - Datei:

unbind C-b
set -g prefix C-a

Wenn Sie etwas anderes verwenden möchten less, wird der GSchlüssel normalerweise bereits an den Anfang der Datei verschoben, sodass keine Änderungen erforderlich sind. Wenn diese Änderung nicht zu Ihnen passt, können Sie die Schlüssel mit neu binden lesskey.

Caleb
quelle
Wenn ich die tmux-Bindung auf ändere Ctrl+A, kollidiert dies mit dem Beginn des Befehls. Ich habe auch 'Strg + B + B' an das zuvor ausgewählte Fenster gebunden.
Dogbane
1
@Caleb: In meinem tmux(Ubuntu 11.04 mit der Standardkonfiguration) hat "Strg + B B" keine Wirkung (noch ist es in der Manpage dokumentiert); man muss "Strg + B Strg + B" verwenden, um ein Strg + B an die Anwendung zu senden. (Im Gegensatz dazu wird screenstandardmäßig "Strg + A A" verwendet, um ein "Strg + A" an die Anwendung zu senden.) Ausgezeichnete Antwort.
Riccardo Murri
1
@ RiccardoMurri: Das ist ein Nomenklaturproblem. Ich habe zwischen den BTasten kein Leerzeichen gelassen, das darauf hindeutet, dass die Steuerung nicht mehr bedient wird. Normalerweise würden Sie bei gestylten Tasten wie dieser ein Leerzeichen oder ein Komma zwischen die Tasten setzen, wenn die Steuertaste losgelassen werden würde, aber dies ist kein genau definierter Standard. Einige Leute verwenden nicht einmal die gleiche +Syntax ...
Caleb
@dogbane: Wenn Sie eine doppelte STRG-B-Taste an eine andere als die Standard-Taste gebunden haben, ist dies Ihre Schuld. Sie müssen diese entweder neu zuordnen, die Pass-Through-Version von STRG-B einer anderen Taste zuordnen oder eine andere Taste verwenden für weniger.
Caleb
2
@dogbane benutze ich Ctrl+\ , aber das ist natürlich eine Frage der persönlichen Präferenz. Meine Wahl wird Ihnen nicht gefallen, wenn Sie nicht in der Lage sind, Ctrl+\ ohne Fingerverzerrungen auf Ihrer Tastatur zu tippen.
Gilles 'SO - hör auf, böse zu sein'
17

In TMux mit der Standardkonfiguration, Drücken von Strg + B zweimal sendet eine Strg + B an die Anwendung.

Riccardo Murri
quelle
6

Sie können den Befehl tmux verwenden send-prefix. Es wird Ihr tmux-Schlüsselbindungspräfix an das aktuelle Fenster senden

Zum Beispiel in .tmux.conf:

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

Drücken Sie dann Ctrl-a+ v, um Ctrl-azum Terminal zu senden .

diabloneo
quelle
0

Du könntest es mit versuchen Page Up;)

Simon D
quelle