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?


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.


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


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


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.


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.


1

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.