Im Kopiermodus möchte ich, dass die Navigationstasten der Tastatur automatisch die gesamte aktuelle Zeile auswählen. Idealerweise würde die ausgewählte Zeile beim Auswählen/Kopieren/Einfügen abgeschnitten.
Beispiel
Ich möchte oft ganze, gekürzte Zeilen auswählen, um die Ausgabe daraus auszuwählen, git <anything>
oder ls -1
usw.:
# git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
robots.txt
index.php
[...]
Ich möchte robots.txt übertragen, also gehe ich in den Kopiermodus und beginne, den Cursor in Richtung der robots.txt-Zeile zu bewegen. Wenn ich ihn nach oben bewege, wählt er zuerst Folgendes aus index.php
:
# git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
robots.txt
**index.php** (<-- text between ** is auto selected)
[...]
# git status
Wenn Sie dann den Cursor nach oben bewegen (mit der Tastatur), wird die Zeile mit robots.txt (gekürzt) ausgewählt:
Untracked files:
(use "git add <file>..." to include in what will be committed)
**robots.txt** (<-- text between ** is auto selected)
index.php
[...]
Ist das etwas, was in der aktuellen Version von tmux möglich ist?
Antwort1
Lösung
Hier ist ein Makro, das mit C-Up
/ C-Down
(normalerweise Strg + Aufwärts / Strg + Abwärts) „nach oben/unten geht und die getrimmte Linie auswählt“ ausführt:
Wechseln Sie in tmux in den Befehlsmodus und C-b :
verwenden Sie dann den folgenden Code:
bind -T copy-mode C-Up send-keys Up \; send -X back-to-indentation \; send -X begin-selection \; send -X end-of-line
bind -T copy-mode C-Down send-keys Down \; send -X back-to-indentation \; send -X begin-selection \; send -X end-of-line
Um den Text zu kopieren und einzufügen, drücken Sie C-w
undC-b ]
Kern
Fehlerbehebungen, Verbesserungen usw.: https://gist.github.com/mklepaczewski/ee9c4cd85f678859c90844ef18ac8ceb
Demo
Nach git status
:
Nach C-b [
und 3x C-Up
:
Jetzt müssen Sie nur noch C-w
(kopieren) und dann C-b ]
(einfügen)