
Ich weiß, dass wir in tmux mithilfe von \; mehrere Befehle an eine Taste ketten können.Siehe hier Aber im VI-Modus möchte ich, dass ein einziger Tastendruck zum Anfang der aktuellen Zeile führt, mit der Auswahl beginnt, zum Zeilenende geht und die Auswahl kopiert.
Wenn ich in tmux.conf Folgendes eingebe
bind-key -t vi-copy 's' start-of-line \; begin-selection \; end-of-line \; copy-selection \;
Es wird mir dieser : 69: usage: bind-key [-cnr] [-t key-table] key command [arguments]
Fehler angezeigt.
Oder gibt es eine alternative Möglichkeit, die aktuelle Zeile mit einer einzigen Taste herauszuziehen?
Antwort1
Leider unterstützen die modusspezifischen Bindungen (erledigt mit -t
) derzeit nur einen Befehl gleichzeitig. Außerdem muss der Befehl einer der modusspezifischen Befehle sein, kein allgemeinertmuxBefehl. In der Quelle cmd_bind_key_check
begrenzt die Funktion die nicht optionalen Argumente bei Verwendung auf genau zwei -t
: eine Taste und einen Befehl. Aus diesem Grund erhalten Sie die Verwendungsmeldung (obwohl die Meldung nicht sehr aufschlussreich ist).
Sie können den Befehl jedoch aufrufen copy-end-of-line
, um einige Tastenanschläge zu sparen. Im vi-copy
Modus: verwenden Sie 0 D
anstelle von 0 Space $ Enter
. Im emacs-copy
Modus: C-a C-k
anstelle von C-a C-Space C-e C-w
.