Jak wybrać (skopiować) wyjście w terminalu bez myszy

10

Wygląda to na typowy sposób, w jaki masz trochę danych wyjściowych w terminalu i jeśli chcesz wybrać określoną frazę, używasz myszy do jej skopiowania, ale czy jest jakiś sposób na wybranie bez użycia myszy? Na przykład, wpisuję lsi otrzymuję listę plików i chcę wybrać drugi plik (drugi wiersz), czy istnieje sposób na skopiowanie nazwy bez użycia myszy?

Negrito
źródło

Odpowiedzi:

10

Za pomocą tmux:

Używam tmuxw trybie vi:

  1. Przejdź do trybu kopiowania (w mojej konfiguracji Prefix+ escapedomyślny prefiks to Ctrl+ b)
    • W pliku konfiguracyjnym ( ~/.tmux.conf):bind Escape copy-mode
  2. Poruszaj się (za pomocą strzałek)
  3. Wybierz pożądany wynik (Rozpocznij wybór za pomocą Space)
    • W mojej konfiguracji v:bind-key -T copy-mode-vi y send-keys -X begin-selection
  4. Naciśnij, Enteraby skopiować tekst.
    • W mojej konfiguracji y:bind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Naciśnij Prefix+, paby wkleić.

wprowadź opis zdjęcia tutaj

Utwórz także powiązanie klucza takie jak to:

bind C-c run "tmux save-buffer - | xsel -bi"

Aby zapisać bufor w schowku systemowym, naciśnij Prefix+ Ctrl+ c.

Dodałem moją konfigurację, ponieważ bardziej przypomina vim niż domyślna konfiguracja.


Za pomocą poleceń:

Oto co robię:

  1. Uruchom polecenie (np . ls -1:)
  2. Przetwórz wyjście, aby uzyskać pożądany rezultat
  3. Pip to xsel -bi

W twoim przykładzie:

$ ls -1 | sed -n 2p | xsel -bi
  • ls -1 wypisuje wyjścia w jednym wierszu
  • sed -n 2p dostać drugą linię
  • xsel został użyty do skopiowania końcowego wyniku do schowka.

Jeśli uruchomienie komendy trwa zbyt długo, najpierw zapisz dane wyjściowe w pliku, a następnie przetworz dane wyjściowe:

command > output
head -10 output | whatever | xsel -bi
Ravexina
źródło
0

Najpopularniejsze emulatory terminali Linux nie mogą tego zrobić bezpośrednio. Są jednak dwa, o których jestem świadomy.

Tym, który istnieje od dłuższego czasu, jest Termit. Jest to jednak raczej spartańskie (nie można konfigurować skrótów klawiaturowych, nie ma wielu zakładek).

Teraz jest drugi, który ma te funkcje o nazwie Mantid (które bezwstydnie tutaj reklamuję :)):

https://github.com/omgold/mantid-term

Jednak nie ma kompilacji Ubuntu, ale jeden Arch i RPM. Możesz jednak spróbować zbudować RPM i przekonwertować go na deb za pomocą Alien.

omgold
źródło
Chciałbym spróbować mantid, ale nie mogę znaleźć żadnego samouczka ani instrukcji. Czy jest tam jakaś dokumentacja? Dobrze byłoby wiedzieć przynajmniej, w jaki sposób spełnia on funkcje wymagane w pytaniu.
Luís de Sousa,
Istnieje strona man („man mantid”), aw katalogu / usr / share / mantid znajdują się przykładowe pliki konfiguracyjne. Strona podręcznika głównie dokumentuje opcje konfiguracji, a aktywne skróty klawiszowe można sprawdzić w pliku konfiguracyjnym.
omgold