Jak efektywnie wysyłać tekst wprowadzony w wierszu poleceń do schowka systemowego bez użycia myszy?


14

Powiedzmy, że wpisałem następujące długie polecenie w wierszu polecenia

 $ some very long command that I want to copy to the clipboard

Jak mogę to skutecznie umieścić w schowku systemowym? Używam Gnome Terminal 2.23.1.

Wiem, że mogę pobrać mysz, podświetlić ją i skopiować, ale chcę mieć ogólne rozwiązanie klawiatury.

Byłoby również dobrze, gdyby uogólniono na wiele programów wiersza polecenia.

Na przykład, w bash w trybie vi, mogę nacisnąć, va następnie edytować polecenie w vimie, a tym samym użyć funkcji kopiowania Vima do schowka, ale to nie działa, gdy używasz R w wierszu poleceń. Jest również trochę powolny.

Chciałbym, jeślibym w trybie vi mógł nacisnąć yy i skopiować zawartość linii do schowka systemowego, ale to nie działa. Co więcej, wszelkie polecenia szarpiące nie wydają się kopiować zawartości do schowka systemowego; wydają się kopiować tylko do bufora używanego przez bash.

AKTUALIZACJA:

Po wysłaniu znalazłem


1
Nie do końca to, o co prosisz: za pomocą ekranu możesz osiągnąć to, o co prosisz, postępując zgodnie z tą odpowiedzią: askubuntu.com/questions/56570/…
enzotib

Po tej odpowiedzi ( askubuntu.com/a/503861/43594 ) możesz włączyć Klawisze myszy w Universal Access i używać klawiatury numerycznej do poruszania myszą, a cyfra pięć działa jak kliknięcie. Po dwukrotnym szybkim kliknięciu wybierze słowo, na które wskaźnik się przesuwa. Kiedy zostanie szybko trzykrotnie kliknięty, wybierze całą linię. To wraz z odpowiedziami na temat kopiowania (Ctrl-Shift-C) powinno zrobić większość tego, czego potrzebujesz.
James

Odpowiedzi:


3

Możesz również użyć menedżera schowka, takiego jak parcellite. Jest to menedżer schowka GTK +, który ma również funkcje schowka w wierszu poleceń

Możesz go użyć za pomocą wiersza polecenia, używając

echo "some very long command that I want to copy to the clipboard" | parcellite
##or##
parcellite "some very long command that I want to copy to the clipboard"

Nie jest instalowany domyślnie, więc będziesz musiał zainstalować parcellite przez sudo apt-get install parcellite


1
dzięki, przynajmniej kiedy jestem w bash, czasami używałem echo my command | xclip -se c; jednak gdy polecenie zawiera cytaty i inne znaki specjalne, echoczęsto nie kopiuje polecenia dosłownie.
Jeromy Anglim

1

Więc zamknięcia, które udało mi się uzyskać, to użycie historii i xclip w połączeniu z tym

echo !! | xclip

Spowoduje to umieszczenie ostatniego polecenia w schowku środkowego przycisku. Wciąż szukam czegoś lepszego, ponieważ chciałbym sprowadzić to do jednego polecenia. Jednak rozłączam się, ponieważ historia nie działa w skryptach powłoki i nie wiem, czy istnieje sposób na !!prawidłowe użycie jej w aliasie. Oczywiście nie wydaje się, żeby to było dokładnie to, o co prosisz o moją intencję, aby wykorzystać to do robienia notatek o tym, co robię. Jakieś przemyślenia?


Ponadto nadal występuje problem kopiowania poleceń z cudzysłowami.
Jeromy Anglim

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.