Finalización de tabulación inteligente Bash

Como un conmutador reciente de Ubuntu (si es una palabra, reciente cambio de proveedor) me encuentro en la línea de command mucho más que cuando era un usuario de Mac. Una cosa que realmente me encantó de Ubuntu fue cuando estaba comstackndo y ejecutando progtwigs Java para la class, mi finalización de tabs fue realmente inteligente. Cuando necesitaba comstackr mi class si tenía un directory que se parecía a:

Example.java Example.class Client.java Client.class 

y necesitaba comstackr Client.java para tener en count los cambios más recientes que escribiría:

  • Usar 'alias' en script bash en OSX
  • ¿Cómo restaurar mi .bash_profile eliminado?
  • Cancelé (control + c) la transferencia rsync en un file grande; ¿Será recogido si empiezo de nuevo?
  • ¿Cómo reparar y / o reinstalar Homebrew de forma segura?
  • Establecer el peso de la fuente en Terminal.app para El Capitan
  • ¿Cómo elimino a un usuario a través del modo de usuario único en 10.7?
  •  javac C [TAB] 

    y completaría

     javac Client.java 

    ignorando los files .class porque no se puede ejecutar javac en .class. También cuando quería ejecutar el file escribiendo

     java C [TAB] 

    daría lugar a

     java Client 

    sin periodo Esta fue una forma muy inteligente de completar las tabs a la que me acostumbré tanto que ahora me vuelve loco cuando toco la pestaña y me da el Cliente. sin completar realmente lo que necesito que sea.

    Entonces, ¿hay alguna manera de hacer que la finalización de Mac bash sea más inteligente para que tenga el mismo efecto?

  • Listado de files con extensión en Terminal
  • Si salgo de Terminal.app, ¿los processs que inició salen con él?
  • ¿Cómo get la ruta completamente resuelta de un enlace simbólico en la Terminal?
  • Cómo get la position de la tapa
  • ¿Dónde puedo encontrar toda la documentation para los commands de shell incorporados de mac?
  • ¿Por qué los colors de Terminal.app son diferentes de iTerm?
  • 2 Solutions collect form web for “Finalización de tabulación inteligente Bash”

    * Los packages de nix como bash_completion se pueden instalar con administradores de packages de terceros. Sugiero Homebrew , pero Fink y MacPorts también proporcionan el package bash_completion . Si no maneja automáticamente la situación de Java que describe, publique de nuevo o lea la página de manual.

    Sugeriría que configuraras tu shell pnetworkingeterminado para zsh en lugar de bash. Viene incluido con Mac OS X y es totalmente compatible con bash, pero agrega algunas características agradables que incluyen una terminación de tabs mucho más inteligente.

    Pruébalo con chsh /bin/zsh

    También hay un excelente marco para administrar su entorno zsh llamado oh-my-zsh . Es un gran punto de partida para una poderosa personalización.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).