Próbuję znaleźć sposób na skopiowanie bieżącego tekstu z wiersza polecenia do schowka BEZ dotykania myszy. Innymi słowy, muszę zaznaczyć tekst tylko za pomocą klawiatury. Znalazłem rozwiązanie w połowie drogi, które może doprowadzić do pełnego rozwiązania:
Ctrl+a - przejdź na początek linii.
Ctrl+k - przecina całą linię.
Ctrl+y - ciągnie wycięty tekst z powrotem.
Alternatywnie mogę również użyć Ctrl+udo wykonania pierwszych 2 kroków.
To oczywiście działa, ale staram się dowiedzieć, gdzie dokładnie jest zapisany wycięty tekst. Czy istnieje sposób na dostęp do niego bez użycia Ctrl+y? Jestem tego świadomy, xclip
a nawet używam go do przesyłania tekstu bezpośrednio do schowka, więc zastanawiałem się nad przesłaniem zapisanych danych Ctrl+kdo xclip
, ale nie jestem pewien, jak to zrobić.
Dotychczasową metodą jest napisanie skryptu, w którym xdotool
dodaje echo
się na początku linii i | zxc
na końcu linii, a następnie wciska enter ( zxc
jest to niestandardowy alias, do którego właściwie się prowadzi xclip
). To również działa, ale nie jest to naprawdę „czyste” rozwiązanie.
Używam Cshell, jeśli to robi jakąkolwiek różnicę.
EDYCJA: Nie chcę używać screen
jako rozwiązania, zapomniałem o tym wspomnieć.
Dzięki!
Odpowiedzi:
Jeśli używasz
xterm
lub pochodna, możesz skonfigurować powiązania klawiszy, aby rozpocząć i zakończyć zaznaczenie tekstu, i zapisać go jako zaznaczenie podstawowe X11 lub bufor. Zobaczyćman xterm
. Na przykład dodaj do~/.Xdefaults
:Możesz mieć tylko jeden
XTerm*VT100.Translations
wpis. Zaktualizuj serwer X11 o nową zawartość pliku za pomocąxrdb -merge ~/.Xdefaults
. Rozpocznij nowyxterm
.Teraz, gdy masz trochę danych w wierszu polecenia, pisanie 1na klawiaturze numerycznej rozpocznie zaznaczanie tekstu w bieżącej pozycji kursora tekstowego, podobnie jak robi to przycisk 1 w dół myszy. Przesuń kursor za pomocą klawiszy strzałek, a następnie naciśnij klawisz 2na klawiaturze numerycznej, a tekst pośredni zostanie podświetlony i skopiowany do podstawowej selekcji i bufora odcinającego0. Oczywiście można wybrać inne bardziej odpowiednie klawisze i akcje. Możesz również wkleić zaznaczenie za pomocą powiązań takich jak
insert-selection(PRIMARY)
.źródło
translations
Zasób jest funkcja X Toolkit nawiązywał do tu i tam, który nie ma odpowiednika w innych zestawów narzędzi. Możesz jednak przełączać się między zestawami tłumaczeń za pomocą tejkeymap
funkcji (zwracając uwagę na komentarz „Możesz mieć tylko jeden”).