Dans Bash (shell de terminal Mac / Linux), les touches fléchées haut et bas peuvent-elles fonctionner pour fonctionner comme dans les éditeurs de texte?

8

Dans les éditeurs de texte, si j'appuie sur les touches fléchées haut et bas, cela déplace le curseur entre les lignes de texte.

Dans Bash, si je tape une longue commande qui s'étend sur plusieurs lignes et que j'appuie sur les touches fléchées haut et bas, elle parcourt l'historique des commandes.

Je veux l'ancien comportement dans Bash. Est-ce possible? Sinon, existe-t-il un moyen de déplacer le curseur directement vers le haut ou vers le bas dans une commande sur plusieurs lignes?

Frungi
la source
Ils se déplacent entre les lignes ... juste que la ligne est très longue.
vonbrand

Réponses:

11

Non, ce n'est pas possible. Bash utilise GNU Readline pour gérer l'entrée de ligne interactive. Il n'y a pas de commande dans Readline qui se déplace entre les lignes d'affichage comme vous le souhaitez, ni de variable de configuration comparable à la variable visuelle de déplacement de ligne de GNU Emacs qui provoque le déplacement de la ligne suivante et de la ligne précédente par les lignes d'affichage.

Kyle Jones
la source
Décevant, mais merci! Et je pense que les réponses à une autre question seraient utiles aux personnes ayant cette même question: stackoverflow.com/questions/657130/…
Frungi
5

Ce que je fais est d'appuyer sur CTRL + Flèche gauche et il sautera à la première lettre après le dernier espace trouvé. Vous pouvez rapidement vous rendre là où vous en avez besoin.

chrstphrmllr
la source
1
Il s'agit d'une liaison de touches non standard. Le raccourci clavier standard pour reculer d'un mot est Alt + b. Voir cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC5
sleske
3

Vous cherchez peut-être quelque chose comme xiki. C'est comme un shell / éditeur de texte.

Voici une démo vidéo: http://youtu.be/bUR_eUVcABg

Jason
la source
Xiki a l'air incroyable! Je veux quelque chose comme ça qui peut fonctionner sur Windows ...
Max
2
@Max selon la page github du projet, "Nous venons de patcher el4r, donc il y a une chance que Xiki fonctionne dans Windows." Vous pouvez le vérifier ici: github.com/trogdoro/xiki
jason
C'est étonnamment soigné et ringard, mais vraiment pas ce que je voulais faire. Je voulais juste utiliser Bash ou un autre shell commun. Merci quand même!
Frungi
3

Vous pouvez utiliser Ctrl+ Leftet Ctrl+ Rightpour naviguer dans les mots plutôt que dans les caractères, Homeet Endpour aller au début et à la fin de la commande saisie.

Sekhemty
la source
2
Aussi, Ctrl + A pour aller au début et Ctrl + E pour aller à la fin
ignis
1
@ignis vous devez mettre cela dans une réponse.
evilsoup
2

Voir également la bash(1)page de manuel sous la Commands for Movingsection en- tête pour d'autres raccourcis de navigation.

Nevin Williams
la source
1

Ctrl + A pour aller au début et Ctrl + E pour aller à la fin de la commande.

ignis
la source