Czy mogę skopiować, zaznaczając i wklejając środkowe kliknięcie w Mac OS X?

68

Używam Linuksa przez ostatnie kilka lat i uważam, że niezwykle przydatne jest kopiowanie tekstu poprzez wyróżnianie go, a także wklejanie poprzez kliknięcie środkowym przyciskiem myszy.

Używam teraz komputera Mac i zastanawiam się, czy mogę osiągnąć takie zachowanie w systemie Mac OS X.

installero
źródło
2
Nie mogę uwierzyć, że OSX tego nie robi ... skały Linuksa na tak wiele sposobów
Scott Stensland

Odpowiedzi:

18

Napisałem darmowy program C, który robi coś podobnego do odpowiedzi Gilligan. Ilekroć przeciągasz zaznaczenie lub dwukrotnie klikniesz tekst, zostanie on skopiowany do bufora schowka. Następnie możesz kliknąć środkowym przyciskiem myszy w dowolnym oknie, aby go wkleić. Nazywa się to „macpaste” i na Github ( https://github.com/lodestone/macpaste ). Działa globalnie dla każdego programu, którego używam, który ma dane tekstowe.

W iTerm2 wyłącz ich środkowe kliknięcie w Preferencjach, w przeciwnym razie otrzymasz podwójne pasty.

remik
źródło
To jest niesamowite! Tak blisko. Gdyby miał tylko oddzielny bufor do przechowywania wyróżnionego tekstu oddzielnie od normalnie kopiowanego tekstu, byłby prawie tak blisko Linuksa, jak to możliwe. Dobra robota
Ryan Martin
Właśnie tego szukałem :-) Dziękuję bardzo za udostępnienie!
José Alfredo Romero L.
4
Działa to, ale niestety nie działa z chrome / firefox / safari / anybrowser, środkowym kliknięciem, aby otworzyć w nowej karcie. Jest jakiś sposób na obejście tego?
lenooh,
Nie kompiluje się dla mnie -Undefined symbols for architecture x86_64
Peter Ehrlich
Chłodny! Dodałem poniżej w moim .bashrc i działa dobrze (xterm jest tylko tam, gdzie go brakuje): case "$ (ps -ef | grep macpaste | grep -v" grep "| wc -l)" w 0) ~ / bin / macpaste / macpaste> / dev / null & ;; 1) # wszystko ok ;; *) kill -9 $ (pgrep macpaste) ~ / bin / macpaste / macpaste> / dev / null & ;; esac Jedyną smutną rzeczą jest to, że nie mam środkowego przycisku na MM2 i nie chcę konfigurować tych stron trzecich ... Dzięki @remik!
Egor
14

Możesz wypróbować BetterTouchTool . Możesz przypisać niestandardowe zdarzenia gładzika, myszy i klawiatury, aby wywoływały określone działania na poziomie globalnym lub specyficzne dla aplikacji.

Oto moja konfiguracja do powiązania stuknięcia trzema palcami ⌘V(ponieważ jest to globalny skrót do wklejania. Alternatywnie możesz wybrać z dziesiątek innych gestów gładzika i myszy, aby emulować polecenie wklejania.

wprowadź opis zdjęcia tutaj

adamrmcd
źródło
15
FWIW rozwiązuje to tylko środkowe kliknięcie; Nie sądzę, że jest możliwe automatyczne kopiowanie wyróżnionego tekstu bez dodatkowego polecenia. (Z wyjątkiem aplikacji, które specjalnie udostępniają tę funkcję, takich jak iTerm2)
adamrmcd 10.11.11
7
Czy ktoś do tej pory wymyślił rozsądne rozwiązanie? Brakuje mi mojej pasty do wyboru TAK DUŻO !!!
Rubens
4
To szalone, że nie można uzyskać tego zachowania we wbudowanym terminalu między oknami ... ahhh tęsknię za linuksem.
DrCord,
@Desphilboy Trzy powyższe komentarze narzekają przede wszystkim na brak funkcji kopiowania na wybraniu, której nie rozwiązuje twoja odpowiedź.
Kyle Strand
Można to zrobić tylko w terminalu, a moja odpowiedź dotyczy wyłącznie terminali. @KyleStrand
Desphilboy
6

Terminal macOS może kopiować / wklejać za pomocą dwóch oddzielnych buforów:

  1. Bufor kopiuj / wklej, który jest współdzielony ze wszystkimi innymi aplikacjami. Można uzyskać do niego dostęp za pomocą CommandC/ CommandV.
  2. Oddzielny bufor kopii / przeszłości, który jest współużytkowany tylko przez terminale (macOS). Można go wypełnić (skopiować), przeciągając myszą po tekście, klikając ShiftCommanddwukrotnie lub klikając dwukrotnie nazwy plików (nie CommandV). Zawartość tego bufora jest wklejana środkowym przyciskiem myszy, przyciskiem ShiftCommandVlub przyciskiem Command+ dwoma palcami.
Matthias
źródło
4

Utwórz następującą usługę Automator: wprowadź opis zdjęcia tutaj

Przypisz to jako naciśnięcie klawisza shiftcontrol](coś, co prawdopodobnie nie spowoduje konfliktu z niczym). Następnie użyj BetterTouchTool, aby przypisać to naciśnięcie klawisza do środkowego przycisku myszy.

Skrypt środkowej powłoki pochodzi z tej dobrej odpowiedzi . Pierwszy skrypt powłoki kopiuje zaznaczenie do schowka, środkowy skrypt klika myszką w bieżącym miejscu, a AppleScript wysyła Vpolecenie wklejenia zawartości schowka

Daniel
źródło
1
Umożliwia to kopiowanie podczas klikania środkowej myszy. OP chce podświetlić, aby skopiować, podświetlając, a następnie wklejając środkowym przyciskiem myszy
Ulysse BN
Czy istnieje sposób, aby zarówno środkowe kliknięcie otwierało nowe karty w Chrome, jak i ta funkcja?
William,
2

Po podświetleniu tekstu w terminalu mogę kliknąć środkowy przycisk, aby wkleić go z powrotem do terminala bez użycia skrótów klawiaturowych kopiuj / wklej. Nie wydaje się to działać, gdy tekst pochodzi z innych aplikacji, np. Nie mogę skopiować tekstu z TextEdit, a następnie wkleić do Terminala jednym kliknięciem. Korzystam z Lion i nic nie skonfigurowałem, aby uzyskać to domyślne zachowanie. Nie jestem pewien co do innych wersji OS X.

użytkownik27478
źródło
1

Wypróbowałem skrypt Automatora zaproponowany przez Daniela. Nie działało to dla mnie w systemie OS X 10.10.

Byłem w stanie sprawić, że BetterTouchTool (wersja 1.15) sam działał dla niektórych aplikacji. Lubię to:

wprowadź opis zdjęcia tutaj

Zrobiłem Left Mouse dwa razy z kilku powodów. Pierwszy zwykle zmienia tylko fokus na nowe okno, ale nie ustawia kursora. Ponadto kliknięcie w polu tekstowym zwykle zaznacza cały tekst, który jest następnie usuwany po wklejeniu czegoś. Zwykle chcę, aby oryginalny tekst został.

Gilligan

Gilligan
źródło
1

Nie sądzę, że jest jakiś sposób, ale niektóre programy akceptują środkowy przycisk jako wklej

na przykład

  • Aquamacs - emacs skonfigurowany w OSX

  • iTerm2 - zamiennik terminala

W przypadku nowszych myszy / trackballów kliknięcie kółka przewijania działa jak trzeci przycisk

użytkownik151019
źródło
7
kółko przewijania = środkowy przycisk (obecnie można go kliknąć na większości myszy).
installero
0

Wybierz Tekst do skopiowania, a następnie przeciągnij i upuść zaznaczenie (kursor wyświetli biały znak Plus w czerwonym kółku). Spowoduje to skopiowanie i wklejenie tekstu.

Możesz przeciągać i upuszczać w Terminalu lub między aplikacjami.

Antonio N.
źródło
0

Chciałbym dodać, że jeśli problem polega na tym, że tak jak u mnie, nie można dostać do schowka rzeczy podświetlonych w oknie X-Quartz, sekretem tego jest wyróżnienie, a następnie menu XQuartz- > Edytuj -> Kopiuj. W ten sposób można go wkleić w każdej zwykłej aplikacji Mac OS.

Andrzej
źródło
0

W większości terminali możesz przeciągać i upuszczać podświetlony tekst lub alternatywnie możesz użyć: Shift + ⌘ + v

Będzie działał jak w systemie Linux, naciskając środkowy przycisk myszy (jest to kopiowanie i wklejanie razem)

Desphilboy
źródło