Często chcę skopiować zestaw poleceń z terminala, które nie mają danych wyjściowych; powiedz taki blok:
prompt$ less file1.txt
prompt$ less file2.txt
prompt$ dhex file2.txt
prompt$ less file3.txt
Teraz, jeśli zaznaczę ten blok tekstu za pomocą myszy i skopiuję go za pomocą Ctrl-Shift-C; kiedy wklejam plik tekstowy, pojawia się monit (zgodnie z oczekiwaniami) - a następnie muszę marnować czas na usuwanie monitu:)
Więc błąkałem się - czy istnieje ustawienie dla gnome-terminalu, takie, że kiedy robię to samo kopiowanie, kończę na samych poleceniach - bez monitu? Właśnie tego chcę, kiedy w końcu wkleję:
less file1.txt
less file2.txt
dhex file2.txt
less file3.txt
Interesuje mnie rozwiązanie, które pozwoli mi uzyskać to w schowku, po prostu wybierając mysz i Ctrl-Shift-C; Wiem, że mógłbym to zrobić history X
, ale musiałbym to grep
zrobić - i pomyśleć o odpowiednim wyrażeniu grep (i ten sam problem występuje, jeśli nagrywam maszynopis sesji terminalowej script
).
Jakieś udogodnienia? Jeśli nie gnome-terminal
, to jakikolwiek inny terminal, którego można użyć pod Gnome, który oferuje taką możliwość?
W Gnome Terminal możesz zaznaczyć blok tekstu za pomocą myszki + klawisza CTRL. W ten sposób możesz skopiować wszystkie dane wyjściowe konsoli bez pytania. na przykład:
źródło
Cóż, byłem dość zaniepokojony tym problemem, więc w końcu kodowałem rozwiązanie, które jest bardzo blisko: wtyczka filtrująca dla menedżera schowka Glipper, która pozwala na przetwarzanie wyrażeń regularnych w funkcjach filtrowania, które można zastosować do zawartości schowka podczas kopiowania akcja; wydany tutaj:
... a oto zrzut ekranu:
Ponieważ jednak chcę tego używać tylko sporadycznie, przełączanie filtrowania może nie być najlepszym pomysłem (ponieważ musisz włączyć, skopiować / wkleić, a następnie wyłączyć) - więc wtyczka omija normalne działanie po kliknięciu pozycji podmenu filtru Jeśli Ctrl, Altlub csą utrzymywane; więc moje „minimalne” działanie, aby wykonać jednorazowe monitowanie, wygląda następująco:
TermCmdLog
)TermCmdLog
danych wejściowych usunięto monity i skomentowano wiersze bez monitu)W końcu wolałbym, aby sam terminal miał akord klawiatury dla filtrowanego wyjścia (powiedz, naciśnij Ctrl+ Shift+ a, a następnie zwolnij a, a następnie trzymając wciśnięte inne c) - ale to byłoby OK dla pojedynczego filtra; a jeśli chcesz wybrać jeden z kilku filtrów w czasie wykonywania, ponownie istnieje problem z podjęciem innego działania w celu dokonania wyboru; a jeśli zostanie to rozwiązane za pomocą okna GUI pozycji menu - to chyba ta wtyczka jest równie dobra. Co więcej, działa dla dowolnego źródła GUI (kopiowalnego) tekstu w pulpicie Gnome - nie tylko dla terminala.
Niestety, został opracowany dla Gnome / Gtk 2 / Python 2.7, więc jest już przestarzały; wciąż mam nadzieję, że może mieć nadzieję innych (dopóki nie usłyszę lepszego rozwiązania - mam nadzieję w tym wątku
:)
), Nazdrowie!
źródło
Jeśli używasz multipleksera terminala tmux, możesz to zrobić łatwo i wiele więcej!
Noam Manos wskazał już w innej odpowiedzi Gnome Terminal zezwala na kopiowanie blokowe za pomocą Ctrl + kliknięcie myszą i przeciągnięcie. Chciałem tylko wskazać inną alternatywę, która jest silniejsza. Tmux obsługuje przełączanie terminala w „tryb kopiowania” i pozwala na blokowanie kopii i wiele więcej - Obsługuje nawet wiele buforów wklejania, które możesz skopiować i użyć później.
Używam następujących wierszy w pliku .tmux.conf, aby użyć skrótów klawiszowych vi do kopiowania bloków:
Nauczenie się konfiguracji i używania tmux zajmuje trochę wysiłku, ale warto i jestem z tego zadowolony.
źródło