Equivalente / Alternative per Alt + Dot in Mac


36

Una cosa che mi manca dalla shell di Linux è il collegamento Alt + Dot . Ciò che fa è inserire l'ultimo argomento del comando precedente. Sembra essere una tecnica banale, ma è davvero utile.

cioè se si digita questo:

$ ls /Applications/MAMP/conf/apache/

La prossima volta devi solo digitare un comando + scorciatoia e l'argomento sarà completato per te.

$ cd 'alt+dot'

Su Mac conosco 2 alternative; premere Esc + Dot o digitando ! $ , * con l' impostazione spazio magico .

Tuttavia, mentre entrambe le alternative inseriscono gli ultimi argomenti che hai usato, non possono scorrere indietro nella cronologia dei comandi come digitando ripetutamente Alt + Dot .

Posso vivere con queste opzioni per ora, ma mi piacerebbe sapere se qualcuno conosce un modo migliore per farlo.

Risposte:


21

Puoi premere Esc-dot molte volte, fa le stesse cose che sono alt-dot. Ma, come te, trovo più ingombrante digitare da digitare che alt-dot.


3
Posso premerlo più volte, ma funziona solo la prima volta
pablasso il

2
Non importa, hai ragione. Devi solo rilasciare esc per premerlo di nuovo, quindi funziona come previsto scorrendo la cronologia. Trattandosi del trattamento del tasto opzione come meta rovina alcune altre scorciatoie, questa è la soluzione più pulita.
Pablasso,

1
Il modo più semplice per farlo è controllare "Usa chiave opzione come meta" nelle preferenze del Terminale, come descritto nella risposta di Richard Hoskins.
Notturno,

32

In Terminal.app, Preferenze-> Impostazioni, seleziona la scheda Tastiera. Assicurati che "Usa chiave opzione come meta" sia selezionato.


3
a proposito, dovrei menzionare che mentre questo risolve il problema alt + punto, confonde altre combinazioni di tasti come],} o |. La mia tastiera (spagnolo) utilizza l'opzione + un tasto per digitarli. Bene, non puoi avere tutto.
Pablasso,

7
Per iTerm, apri Preferenze, Profili> Chiavi, Scegli il tasto opzione si comporta +Escin fondo.
Ivan Chau,

5

Usa option+.

Nota che questa è una caratteristica di bash e non di linux. Anche i Mac si basano su di loro. Alt. è la scorciatoia per una funzione bash integrata insert-last-argument. Leggi la sezione READLINE della pagina man di bash per sapere come associarlo a una diversa combinazione di tasti.


Incollare alcune parti rilevanti:

   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.

1
Grazie, so che è una funzionalità bash ma il collegamento non è abilitato per impostazione predefinita, almeno non in Terminal.app poiché non esiste una meta chiave per impostazione predefinita. Vedi la risposta di Richard.
Pablasso,

2

Se apri Terminal.app e inserisci le preferenze, vai su Impostazioni> Tastiera e seleziona “Usa opzione come meta chiave”, puoi usare le scorciatoie bash che usano alt, ad esempio:

Alt+ B: Salta la parola all'indietro

Alt+ F: Salta le parole in avanti

fonte


1
Benvenuto in Super User! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Per ora, ho modificato la risposta per te.
Der Hochstapler,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.