Odpowiedzi:
Będziesz musiał użyć skrótów Tmux. Zakładając, że skrót polecenia tmux jest domyślny: Ctrl+ b, a następnie:
Ctrl+ b, [Wejdź w tryb kopiowania (?).
Przejdź do początku / końca tekstu, aby go podświetlić.
Ctrlspace
Rozpocznij zaznaczanie tekstu (w Arch Linux). Kiedy skompilowałem tmux ze źródła na OSX i innych Linuksach, po prostu Spacesam działa. Wybrany tekst zmienia kolory, więc będziesz wiedział, czy polecenie zadziałało.
Przejdź na przeciwny koniec tekstu, aby skopiować.
Alt+ wKopiuje zaznaczony tekst do schowka tmux. (Na Macu użyj Esc+ w.)
Przesuń kursor do przeciwnego panelu tmux lub zupełnie innego okna tmux. Ustaw kursor w miejscu, w którym chcesz wkleić właśnie skopiowany tekst.
Ctrl+ b, ]Wklej skopiowany tekst ze schowka tmux.
tmux jest całkiem dobry w mapowaniu poleceń na niestandardowe skróty klawiaturowe.
Zobacz Ctrl+ b, ?aby zobaczyć pełną listę ustawionych skrótów klawiaturowych.
screen
skrótów: Ctrl + A [
(wejdź w tryb kopiowania), Space
(rozpocznij podświetlanie), Enter
(zakończ podświetlanie), Ctrl + A ]
(wklej).
Enter
kluczem.
Niestety nie mogę jeszcze dodać komentarza do odpowiedzi Alexa Leacha, dlatego dołączę tutaj załącznik dla użytkowników systemu Mac OS X:
byobu
/ tmux
ze wszystkimi ustawieniami domyślnymi, to działało, Alt + W nie działało.
Jeśli używasz vim i tmux na macOS (Testowane na macOS 10.12.2, tmux 2.3):
(Załóżmy, że kombinacja klucza prefiksu tmux to prefix. Prefiks ma wartość domyślną ctrl+ b).
Możesz użyć systemowej tablicy ze znakami „* y” i „* p” zamiast zwykłych y i p.
"+2yy
- skopiuj dwie linie do schowka X11 "+dd
- wytnij linię do schowka X11 "+p
- wklej schowek X11
h,j,k,l
do przenieś. Czasami widziałem też na mojej maszynie wirtualnej Ubuntu, rejestr „+” znika z niewiadomego powodu. Aby sprawdzić, czy masz +
rejestr, możesz wpisać :reg
i sprawdzić, czy "+
w pierwszej kolumnie jest ciąg znaków
y
i p
na "+y
i "+p
?
Jeśli masz vim
otwarte, lepiej użyć wklej kopiowania vim, aby skopiować tekst.
Wklej kopiowanie Tmux będzie działać, jednak istnieje kilka wad.
Po pierwsze, podczas kopiowania wielu wierszy tekstu będziesz musiał wybrać wiele wierszy. Pasta kopiująca Tmux zwykle nie rozumie, że vim
ma numery wierszy lub są znaki w rynnie vima (takie jak liczby względne / liczby bezwzględne). W rezultacie również je skopiuje.
Po drugie, odkryłem, że jeśli tekst ma określone formatowanie specyficzne dla języka, a ty bezpośrednio próbujesz skopiować wklej za pomocą tmux do vima, to popsuje formatowanie. Można tego uniknąć, używając set paste!
. Wymaga to jednak dużo więcej pracy.
"+y
do kopiowania i "+p
wklejaniaVim
natywnie zapewnia metodę kopiowania wklejania między buforem vim a schowkiem systemowym za pomocą jednego "+y
lub dwóch "*y
. Następnie wklejanie za pomocą "+p
lub "*p
. Pozwoli to uniknąć kopiowania względnych liczb w rynnie lub innych losowych znakach, które nie są istotne dla vim
Kilka opcji użycia vima, ponieważ sekwencja skrótów tmux jest nieco długa i trudno mi ją zapamiętać
Podobnie jak powyżej wspomnianej odpowiedzi można używać "+y
i "*y
skopiować, a następnie "+p
i "*p
odpowiednio do wklejenia. Jeśli chcesz, aby vim domyślnie używał schowka, możesz go użyć y/p
bezpośrednio wtedy.
set clipboard=unamed "sets the default copy register to be *
set clipboard=unamedplus "sets the default copy register to be +
źródło polecenia schowka: https://vi.stackexchange.com/questions/84/how-can-i-copy-text-to-the-system-clipboard-from-vim
:w /tmp/lines
, a następnie:r /tmp/lines
w innym przypadku). Lub, jeśli twój Vim umie rozmawiać ze schowkiem systemowym, możesz użyć rejestrów+
lub,*
aby uniknąć pliku tymczasowego.