116 votes

Appuyez sur alt + numérique dans bash et vous obtenez (arg [numérique]) qu'est-ce que c'est?

Appuyez sur alt + numérique dans bash et vous obtenez (arg [numérique]) qu'est-ce que c'est?

(Ce type de question est mieux adapté pour demander à un humain, au lieu d'essayer de "deviner" le terme correct à rechercher dans la documentation via internet).

0 votes

Si vous avez set keymap vi dans ~/.inputrc, alors en appuyant sur Esc + Digit vous amènera au même mode, comme si vous vous prépariez à répéter une commande vi (mais vous ne pouvez pas utiliser les liaisons vi à partir de ce moment, seulement les laides emacs :-()

0 votes

Mes mots-clés de recherche étaient alt numéro terminal linux, alt + 1-9 terminal et finalement shell alt + 1 qui m'ont amené ici.

69voto

hop Points 15423

Le terme que vous voulez rechercher sur Google est :

"arguments de ligne de commande"

Cela vous mènera, par exemple, à ce chapitre du manuel de référence de Bash :

Vous pouvez transmettre des arguments numériques aux commandes Readline. Parfois, l'argument agit comme un compteur de répétitions, d'autres fois, c'est le signe de l'argument qui est important. Si vous transmettez un argument négatif à une commande qui agit normalement dans une direction avant, cette commande agira dans une direction arrière. Par exemple, pour supprimer du texte jusqu'au début de la ligne, vous pourriez taper 'M-- C-k'.

La manière générale de transmettre des arguments numériques à une commande est de taper des chiffres méta avant la commande. Si le premier 'chiffre' tapé est un signe moins ('-'), alors le signe de l'argument sera négatif. Une fois que vous avez tapé un chiffre méta pour commencer l'argument, vous pouvez taper le reste des chiffres, puis la commande. Par exemple, pour donner à la commande C-d un argument de 10, vous pourriez taper 'M-1 0 C-d', ce qui supprimera les dix caractères suivants sur la ligne d'entrée.

Pour que cela fonctionne, vous devez savoir où la touche Méta est configurée : parfois c'est la touche Alt, parfois c'est Esc, les ordinateurs cool ont une touche Méta dédiée ;)

Pour ceux qui ne sont pas familiers avec la syntaxe, 'M-- C-k' équivaut à Touche_Méta+- Ctrl+k. "M" est une abréviation pour la touche Méta, qui, comme mentionné, varie selon le système, "C" est une abréviation pour la touche Ctrl. Le "-" après un caractère (comme "M-") n'est pas quelque chose que vous tapez, c'est une façon d'indiquer des pressions de touches simultanées.

3 votes

Y a-t-il un moyen de répéter les caractères numériques en utilisant des arguments numériques ? Par exemple, si je voulais écrire 128 zéros ('0'), je penserais que je pourrais écrire Alt+128 puis 0, mais cela me donne (arg: 1280 (même si je lâche la touche Alt). Comment pourrais-je répéter des chiffres en utilisant ce mécanisme ?

1 votes

@Victor: questions intéressantes. Je ne peux pas penser à une manière de le faire avec readline. Tu es probablement mieux avec quelque chose comme $(perl -e 'print "0" x 128')

1 votes

39voto

guv' Points 386

Pour répéter des caractères numériques - par exemple 128 zéros, appuyez sur ce qui suit:

Touche Meta + 1 2 8 Ctrl + v 0

1 votes

Ohhhh, c'est juste comme vim (peut-être emacs aussi, je ne me souviens pas).

16voto

Sean Bright Points 39480

Essayez ceci. Tapez Alt 4, puis tapez T, puis appuyez sur Entrée.

Edité pour utiliser le HTML plus sophistiqué.

10 votes

Que se passe-t-il pour vous ? Je ne reçois rien.

1 votes

Quatre caractères t sont insérés.

5 votes

Dans ma version de Bash (4.4), il n'est pas nécessaire d'appuyer sur ENTREE.

12voto

Nietzche-jou Points 7711

Il répète la commande suivante autant de fois, tout comme dans Emacs. Par exemple, M-1-0 C-p revient en arrière de 10 éléments d'historique. M-4 C-h efface quatre caractères, M-3 M-t déplace le mot précédent vers l'avant trois fois, et ainsi de suite. Ici j'utilise M- pour signifier "meta" pour la touche Alt, comme c'est la coutume dans Bash.

5voto

Giancarlo Points 1239

Je ne sais pas mais lorsque vous faites alt + numérique puis que vous appuyez sur un caractère, vous obtiendrez des caractères numériques : (arg : 123) + a -> 123 fois "a"

9 votes

Tu ne sais pas encore tu sais? %-|

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X