Shell: jak przejść do początku linii, gdy jesteś w ekranie?


70

Jestem wewnątrz ekranu (screen -Ra). Mam długie polecenie i jestem na końcu. Zamiast trzymać lewą strzałkę, jak możesz przejść do początku linii?

CTRL-A działa, gdy jestem w normalnym oknie, ale gdy jestem w ekranie, naciśnięcie CTRL-A daje mi komunikat „Żadne inne okno” - wygląda na to, że CTRL-A jest wysyłany na ekran.

Jak przejść do początku linii na ekranie?


3
Szybka poprawka: naciśnij Homeklawisz, aby przejść do początku i Enddo końca linii.

1
Jest to również bardzo zależne od używanej powłoki i trybu wprowadzania, chociaż zakładam, że używasz bash i domyślnych powiązań emacs.
Patrick

1
@hesse, biorąc pod uwagę, że klawiatura ma Homeprzycisk. Nie zawsze tak jest
Matteo

OP może być zainteresowany tym powiązanym pytaniem .
dotancohen

Odpowiedzi:


81

Użyj Ctrl- a alub zmień naciśnięcie klawisza Escape na ekranie (opcja -e).


6
Jeśli nie jest jasne, naciśnij Ctrl- a, zwolnij oba klawisze, a następnie naciśnij a. Nie popełniaj tego samego błędu, który popełniłem, trzymając się Ctrlwciśniętego. Dobra karta referencyjna dla tego i innych kluczowych powiązań: aperiodic.net/screen/quick_reference
Yzmir Ramirez

6

Możesz zmienić screenpowiązania lub możesz zmienić powiązania swojej powłoki. Zakładając, że twoja powłoka jest bash, dane wyjściowe bind -p | grep \C-apowinny dać ci powiązaną bieżącą akcję Ctrl+A. Aby powiązać tę akcję z czymś innym, użyj następującego formularza:

$ bind '"\C-p": beginning-of-line'

Spowoduje to powiązanie, Ctrl+Paby przesunąć kursor na początek linii. Pamiętaj o podwójnych cudzysłowach w wyrażeniu. Aby rozbroić powiązanie, ustaw je na nic:

$ bind '"\C-a": '

Aby wyświetlić listę wszystkich sekwencji wejściowych powiązanych z akcją, użyj:

$ bind -p | grep beginning-of-line

Wreszcie, aby powiązania były trwałe, możesz umieścić instrukcje w swoim ~/.bashrcpliku i wydać je source ~/.bashrc.


6

Ctrl- x- Ctrl- xpozwala przejść do pierwszego znaku linii dla dowolnego środowiska kompatybilnego z readline, takiego jak Bash, python i mysql. GNU SCREEN bezpiecznie to ignoruje. Nie jest wymagana dostosowana konfiguracja.

Jeśli użyjesz tego zamiast Ctrl- a- a, użyjesz spójnego klawisza skrótu - nie musisz pamiętać, czy jesteś w GNU SCREEN, czy nie.

Dla każdego zainteresowanego ten sam klawisz skrótu pozwala także przejść do końca linii, jeśli jesteś już na początku.


5
Właściwie C-x C-xto jest exchange-point-and-mark. Zdarza się, że znak jest domyślnie na początku linii. Możesz użyć, C-spaceaby ustawić znak gdzie indziej.
Ivan Andrus

Ivan, zazwyczaj co możesz zrobić po wymianie punktu i zaznaczeniu? Dzięki.
Susheel Javadi
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.