Shell: come andare all'inizio della riga quando ci si trova all'interno di uno schermo?


70

Sono dentro uno schermo (schermo -Ra). Ho un lungo comando e sono alla fine. Invece di mantenere la freccia sinistra, come puoi andare all'inizio della riga?

CTRL-A funziona quando mi trovo in una finestra normale, ma quando sono all'interno di uno schermo premendo CTRL-A mi viene visualizzato il messaggio "Nessun'altra finestra" - sembra che CTRL-A venga inviato allo schermo.

Come vai all'inizio di una riga in una schermata?


3
Correzione rapida: premere il Hometasto per arrivare all'inizio e Endper arrivare alla fine della riga.

1
Ciò dipende anche in larga misura dalla shell e dalla modalità di input che stai usando, anche se suppongo che tu stia usando bash e le associazioni emacs predefinite.
Patrick,

1
@hesse data la tua tastiera ha un Homepulsante. Non sempre
Matteo

L'OP potrebbe essere interessato a questa domanda correlata .
dotancohen,

Risposte:


81

Utilizzare Ctrl- a ao modificare la sequenza di tasti di escape dello schermo (opzione -e).


6
Nel caso in cui non sia chiaro premere Ctrl- a, rilasciare entrambi i tasti, quindi premere a. Non fare lo stesso errore che ho fatto tenendo Ctrlpremuto. Buona carta di riferimento per questo e altri collegamenti chiave: aperiodic.net/screen/quick_reference
Yzmir Ramirez,

6

O puoi cambiare i screenbinding o puoi cambiare i binding della tua shell. Supponendo che la shell sia bash, l'output di bind -p | grep \C-adovrebbe fornire l'azione corrente associata Ctrl+A. Per associare questa azione a qualcos'altro utilizzare il seguente modulo:

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

Questo si legherà Ctrl+Pper spostare il cursore all'inizio della riga. Ricorda le doppie virgolette all'interno dell'espressione. Per annullare l'associazione di un binding, non devi impostarlo su nulla:

$ bind '"\C-a": '

Per elencare tutte le sequenze di input associate all'azione, utilizzare:

$ bind -p | grep beginning-of-line

Infine, per rendere il permesso vincolante è possibile inserire le dichiarazioni nel ~/.bashrcfile e rilasciare source ~/.bashrc.


6

Ctrl- x- Ctrl- xti consente di passare al primo carattere della riga per qualsiasi ambiente compatibile con readline come Bash, python e mysql. GNU SCREEN ignora questo in modo sicuro. Nessuna configurazione personalizzata necessaria.

Se usi questo invece di Ctrl- a- a, usi un tasto di scelta rapida coerente - non devi tenere a mente se sei in GNU SCREEN o no.

Per chiunque sia interessato, lo stesso tasto di scelta rapida ti consente anche di andare alla fine della riga se sei già all'inizio.


5
In realtà lo C-x C-xè exchange-point-and-mark. Accade solo che il segno sia all'inizio della riga per impostazione predefinita. È possibile utilizzare C-spaceper impostare il segno altrove.
Ivan Andrus,

Ivan, in genere cosa puoi fare dopo aver scambiato un punto e segnato? Grazie.
Susheel Javadi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.