Equivalent / Alternatives pour Alt + Dot sous Mac

36

Une chose qui me manque du shell Linux est le raccourci Alt + Dot . Il insère le dernier argument de la commande précédente. Cela semble être une technique triviale, mais c'est vraiment utile.

c'est à dire si vous tapez ceci:

$ ls /Applications/MAMP/conf/apache/

La prochaine fois que vous devrez taper une commande + un raccourci, l’argument sera complété pour vous.

$ cd 'alt+dot'

Sur Mac, je connais 2 alternatives. appuyez sur Echap + Dot ou en tapant ! $ , ! * avec la configuration de l' espace magique .

Toutefois, bien que les deux alternatives insèrent le ou les derniers arguments que vous avez utilisés, ils ne peuvent pas revenir dans l'historique des commandes, contrairement à la frappe répétée de Alt + Dot .

Je peux vivre avec ces options pour le moment, mais j'aimerais savoir si quelqu'un connaît une meilleure façon de le faire.

pablasso
la source

Réponses:

21

Vous pouvez appuyer sur Echap-Point plusieurs fois, les mêmes choses sont alt-point. Mais, comme vous, je trouve plus fastidieux de taper dactylographié que alt-dot.

simonp
la source
3
Je peux appuyer dessus plusieurs fois, mais ça marche juste du premier coup
pablasso
2
Pas grave, tu as raison. Vous devez simplement relâcher la touche esc pour appuyer à nouveau, puis le défilement se fera comme prévu. Traiter la clé d’option comme une méta gâchant d’autres raccourcis, c’est la solution la plus propre.
pablasso
1
Le moyen le plus simple consiste à cocher "Utiliser la clé d’option en tant que méta" dans les préférences du terminal, comme indiqué dans la réponse de Richard Hoskins.
Nocturne
32

Dans Terminal.app, Préférences-> Paramètres, sélectionnez l'onglet Clavier. Assurez-vous que "Utiliser la clé d’option en tant que méta" est coché.

Richard Hoskins
la source
3
En passant, je dois mentionner que, bien que cela résout le problème alt + dot, il gâche une autre combinaison de clavier comme],} ou |. Mon clavier (espagnol) utilise l’option + une touche pour les taper. Eh bien, vous ne pouvez pas tout avoir.
pablasso
7
Pour iTerm, ouvrez Préférences, Profils> Clés, Choisissez la touche d'option agit comme +Escau bas.
Ivan Chau
5

Utilisez option+.

Notez qu'il s'agit d'une fonctionnalité de bash et non de linux. Les Macs ont aussi leur mot à dire. Alt-. est le raccourci pour une fonction intégrée de bash insert-last-argument. Lisez la section READLINE de la page de manuel bash pour savoir comment lier cette opération à une autre combinaison de touches.


Coller quelques parties pertinentes:

   Readline Initialization
       Readline  is customized by putting commands in an initialization file (the
       inputrc file).
       The  default key-bindings may be changed with an inputrc file.  Other pro-
       grams that use this library may add their own commands and bindings.

       For example, placing

              M-Control-u: universal-argument
       or
              C-Meta-u: universal-argument
       into the inputrc would make M-C-u execute  the  readline  command  univer-
       sal-argument.

   Readline Key Bindings
       The  syntax  for  controlling  key bindings in the inputrc file is simple.
       All that is required is the name of the command or the text of a macro and
       a  key  sequence to which it should be bound. The name may be specified in
       one of two ways: as a symbolic key name, possibly with Meta-  or  Control-
       prefixes, or as a key sequence.

       When using the form keyname:function-name or macro, keyname is the name of
       a key spelled out in English.  For example:

              Control-u: universal-argument
              Meta-Rubout: backward-kill-word
              Control-o: "> output"

       In the above example, C-u is bound  to  the  function  universal-argument,
       M-DEL is bound to the function backward-kill-word, and C-o is bound to run
       the macro expressed on the right hand side (that is, to  insert  the  text
       ``> output'' into the line).

       In  the  second form, "keyseq":function-name or macro, keyseq differs from
       keyname above in that strings denoting an entire key sequence may be spec-
       ified  by placing the sequence within double quotes.  Some GNU Emacs style
       key escapes can be used, as in the following  example,  but  the  symbolic
       character names are not recognized.

              "\C-u": universal-argument
              "\C-x\C-r": re-read-init-file
              "\e[11~": "Function Key 1"


   Commands for Manipulating the History
       insert-last-argument (M-., M-_)
              A synonym for yank-last-arg.
Doug Harris
la source
1
Merci, je sais qu’il s’agit d’une fonctionnalité bash, mais le raccourci n’est pas activé par défaut, du moins pas dans Terminal.app car il n’ya pas de clé méta par défaut. Voir la réponse de Richard.
pablasso
2

Si vous ouvrez Terminal.app et entrez les préférences, accédez à Paramètres> Clavier et cochez la case «Utiliser l'option comme clé méta», vous pouvez utiliser les raccourcis bash qui utilisent alt, par exemple:

Alt+ B: Passe le mot à l'envers

Alt+ F: Passer le mot avant

La source

Alain
la source
1
Bienvenue sur Super User! Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence. Pour l'instant, j'ai édité la réponse pour vous.
Der Hochstapler