Wybierz / skopiuj / wklej w terminalu, używając tylko klawiatury

14

Szukam sposobu zaznaczania , kopiowania i wklejania tekstu w terminalu całkowicie bez myszy.

Używałem tmuxdo tej pory, ale uważam, że jego kombinacje klawiszy są nieco skomplikowane do codziennego użytku funkcji kopiuj i wklej, a teraz szukam alternatyw.

Czy macie jakieś sugestie?

Żeby było jasne, nie chodzi tu o przesyłanie do schowka, ale o zaznaczenie tekstu, jak to możliwe np. tmux!

Morten
źródło
Zobacz moją odpowiedź tutaj: askubuntu.com/a/756348/295286 . Zrobiłem funkcję, która skopiuje do schowka dowolny tekst znajdujący się przed nim. Działa to przy kopiowaniu poleceń. Jeśli chodzi o produkcję, należy ją wyprowadzić
Sergiy Kolodyazhnyy
1
Okej, to nie ma nic wspólnego ze standardowym wyjściem - chodzi o przesunięcie kursora do jakiegoś wcześniej wydrukowanego tekstu Wybierz go i skopiuj / wklej do bieżącego wiersza wprowadzania w terminalu: -D Przepraszam, że nie jestem bardziej precyzyjny w opisie.
Morten
Najlepszym sposobem na dodanie dodatkowych informacji do pytania jest ich edycja za pomocą przycisku edycji . Jest to lepiej widoczne w ten sposób, a komentarze są głównie do celów wtórnych, tymczasowych. Komentarze są usuwane w różnych okolicznościach. Wszystko, co ważne dla twojego pytania, powinno znajdować się w samym pytaniu.
guntbert

Odpowiedzi:

3

Zastanów się xclip, który jest interfejsem wiersza polecenia do schowka X i jest dostępny z sudo apt-get install xclip.

Być może zauważyłeś, że w Ubuntu, jeśli zaznaczysz jakiś tekst, a następnie naciśniesz środkowy przycisk myszy, ten tekst zostanie wklejony do dowolnego wpisywanego tekstu. xclipzaczepia się od razu, więc jeśli uruchomisz seq 10 | xclip -igdzieś środkową mysz, wkleisz cyfry od 1 do 10. Jeśli wybierzesz moją nazwę użytkownika, a następnie uciekniesz xclip -o | cowsay, dostaniesz krowę z napisem „ymbirtt”.

ymbirtt
źródło
3
Dziwię się, że ta odpowiedź została zaakceptowana. @morten wyraźnie wskazał, że nie chodzi otmux przesyłanie do schowka, ale o zaznaczenie tekstu, jak to możliwe np . Wygląda na to, że odpowiedzi z @daisy i @ blue112 są trafne.
Tad Lispy,
1
@ TadeuszŁazurski, ja też, szczerze mówiąc. xclipJest to bardzo dobre narzędzie, które uzupełnia istniejącą odpowiedź, ale nie jestem pewien, że to odpowiedź
ymbirtt
10

Zawsze używam Ctrl+ Shift+ Ci Ctrl+ Shift+ Vdo kopiowania i wklejania w moim terminalu (innym niż tmux).
Możesz zmienić te skróty klawiaturowe w preferencjach klawiatury terminala (innego niż tmux).

Jeśli jednak nadal chcesz używać tmux, możesz również zmieniać skróty klawiaturowe tmux, dodając polecenia do ~/.tmux.conf. po prostu dodaj w tym pliku:

bind-key -n [shortcut. for example Ctrl+v is C-v] [what you want to do. for example 'new-window' etc]

Tak to będzie wyglądać

bind-key -n C-t new-window

Nie potrzebujesz klucza przedrostka polecenia, aby wykonać polecenia w ~/.tmux.confpliku.

Aby uzyskać więcej informacji o dostępnych rzeczach, ~/.tmux.confsprawdź ten link

Za pomocą tego można bardzo bardzo kopiować i wklejać, jednak dla nieco większej użyteczności polecam użycie konfiguracji kopiowania / wklejania w stylu Vima.
Za pomocą tego pliku konfiguracyjnego lub innego pliku konfiguracyjnego można włączyć kopiowanie / wklejanie w stylu Vima . Wymagają one jednak użycia klucza prefiksu.
Ktoś nawet zrobił rozszerzenie tmux, aby uprościć działanie kopiuj / wklej do schowka systemowego w tmux. To może być warte obejrzenia.

Jeśli szukasz alternatywy dla Tmux, możesz wypróbować dvtm ( sudo apt-get install dvtm dtach). Sam go nie użyłem, ale wygląda na to, że ma podobne opcje.

Akisame
źródło
4

Aby skopiować, użyj Ctrl+ Shift+C

Aby wkleić, użyj Ctrl+ Shift+ Vlub Shift+insert

Inny sposób to zrobić:

Najpierw uruchom polecenie screen, a następnie wykonaj następujące czynności:

  • Naciśnij Ctrl+ a+ EscSpowoduje to przejście ekranu w tryb kopiowania.
  • Teraz przesuń kursor na początek sekcji, aby skopiować i nacisnąć Enter.
  • następnie przesuń kursor na koniec sekcji, aby skopiować i nacisnąć Enter.
  • Teraz naciśnij Ctrl+ a+, ]aby wkleić.
stokrotka
źródło
5
Świetnie, ale aby skopiować coś, musisz je najpierw wybrać. Jak wybierać tekst bez myszy?
Ponytech,
1
@Ponytech Próbowałem zrobić w gnome-terminal bez uruchomienia polecenia, screen ale nie mogłem.
stokrotka,
Używanie ekranu to jedyny sposób, jaki do tej pory znalazłem. Dzięki za aktualizację
Ponytech 20.04.16
2

Możesz użyć screentrybu wyboru.

Wprowadź sesję ekranu za pomocą screenpolecenia.

Następnie użyj Ctrl+ ai, Escaby przejść do trybu wyboru.

Następnie możesz przesunąć kursor, zaznaczyć tekst za pomocą space, wyjść z trybu zaznaczania i wkleić go, kiedy chcesz za pomocą Ctrl+ ai ].

Więcej informacji tutaj: http://web.mit.edu/gnu/doc/html/screen_11.html

niebieski112
źródło