Equivalente / Alternativas para Alt + Dot no Mac

32

Uma coisa que eu sinto falta do shell do Linux é o atalho Alt + Dot . O que ele faz é inserir o último argumento do comando anterior. Parece ser uma técnica trivial, mas é realmente útil.

i.e. se você digitar isto:

$ ls /Applications/MAMP/conf/apache/

Da próxima vez que você tiver que digitar um comando + atalho, o argumento será completado para você.

$ cd 'alt+dot'

No Mac, eu conheço duas alternativas; pressionando Esc + Dot ou digitando ! $ , ! * com o configuração do espaço mágico .

No entanto, enquanto as duas alternativas inserem o (s) último (s) argumento (s) que você usou, elas não podem voltar no histórico de comandos, como digitar Alt + Dot repetidamente.

Eu posso viver com essas opções por enquanto, mas adoraria saber se alguém conhece uma maneira melhor de fazer isso.

    
por pablasso 18.12.2009 / 15:15

4 respostas

18

Você pode pressionar Esc-dot várias vezes, ele faz as mesmas coisas que são alt-dot. Mas, como você, acho mais difícil digitar do que o alt-dot.

    
por 18.12.2009 / 15:43
32

Em Terminal.app, Preferências- > Configurações, selecione a guia Teclado. Certifique-se de que "Use Option Key as Meta" esteja marcada.

    
por 18.12.2009 / 15:44
5

Use a opção + .

Note que este é um recurso do bash e não do linux. Os Macs também os atacam. Alt-. é o atalho para uma função bash incorporada insert-last-argument . Leia a seção READLINE do bash man page para saber como você pode vincular isso a uma combinação de teclas diferente.

Colando algumas partes relevantes:

   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.
    
por 18.12.2009 / 15:53
2

If you open Terminal.app and enter preferences, and go to Settings > Keyboard and check “Use option as meta key”, you can use the bash shortcuts that use alt, for example:

Alt+B: Skip word backwards

Alt+F: Skip word forwards

Fonte

    
por 15.08.2012 / 21:27