Shell: comment aller au début de la ligne lorsque vous êtes dans un écran?

70

Je suis dans un écran (écran -Ra). J'ai un long commandement et je suis à la fin. Au lieu de garder la flèche gauche, comment pouvez-vous aller au début de la ligne?

CTRL-A fonctionne lorsque je suis dans une fenêtre normale, mais lorsque je suis dans un écran, appuyer sur CTRL-A me donne le message "Aucune autre fenêtre" - semble que CTRL-A est envoyé à l'écran.

Comment allez-vous au début d'une ligne dans un écran?

utilisateur11498
la source
3
Solution rapide: appuyez sur la Hometouche pour aller au début et Endà la fin de la ligne.
1
Cela dépend aussi beaucoup du shell et du mode d’entrée que vous utilisez, bien que je suppose que vous utilisez bash et les liaisons emacs par défaut.
Patrick
1
@hesse étant donné que votre clavier a un Homebouton. Pas toujours le cas
Matteo le
Le PO pourrait être intéressé par cette question connexe .
dotancohen

Réponses:

81

Utilisez Ctrl- a a, ou modifiez la frappe sur la touche d'échappement de l'écran (option -e).

Angus
la source
6
Au cas où il ne serait pas clair que vous appuyez sur Ctrl- a, relâchez les deux touches, puis appuyez sur a. Ne faites pas la même erreur que j'ai fait en maintenant Ctrlappuyé. Bonne carte de référence pour cela et d'autres raccourcis clavier: aperiodic.net/screen/quick_reference
Yzmir Ramirez
6

Soit vous pouvez modifier les screenliaisons, soit vous pouvez modifier les liaisons de votre shell. En supposant que votre shell le soit bash, le résultat de bind -p | grep \C-adevrait vous indiquer l’action en cours associée Ctrl+A. Pour lier cette action à autre chose, utilisez le formulaire suivant:

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

Cela se liera Ctrl+Ppour déplacer le curseur au début de la ligne. Rappelez-vous les doubles guillemets à l'intérieur de l'expression. Pour annuler une liaison, il vous suffit de la régler sur rien:

$ bind '"\C-a": '

Pour répertorier toutes les séquences d'entrée associées à l'action, utilisez:

$ bind -p | grep beginning-of-line

Enfin, pour que les liaisons soient permanentes, vous pouvez mettre les déclarations dans votre ~/.bashrcfichier et votre question source ~/.bashrc.


la source
6

Ctrl- x- Ctrl- xvous permet d'accéder au premier caractère de la ligne pour tout environnement compatible avec readline, tel que Bash, python et mysql. GNU SCREEN l'ignore en toute sécurité. Aucune configuration personnalisée nécessaire.

Si vous utilisez ceci au lieu de Ctrl- a- a, vous utilisez un raccourci clavier consistant - vous ne devez pas garder à l'esprit que vous soyez ou non dans GNU SCREEN.

Pour les personnes intéressées, la même touche de raccourci vous permet également d’accéder à la fin de la ligne si vous êtes déjà au début.

Tankman 六四
la source
5
En fait, C-x C-xc'est exchange-point-and-mark. Il se trouve que la marque se trouve au début de la ligne par défaut. Vous pouvez utiliser C-spacepour définir la marque ailleurs.
Ivan Andrus
Ivan, que pouvez-vous généralement faire après avoir échangé un point et marqué? Merci.
Susheel Javadi