Completamento più intelligente del tab Bash

6

Come uno switcher recente di Ubuntu (il più recente switch backer, se è una parola) mi trovo nella riga di comando molto più di quando ero un utente mac prima. Una cosa che mi è piaciuta di più di Ubuntu è stata la compilazione e l'esecuzione di programmi Java per la classe, il completamento della mia scheda è stato davvero intelligente. Quando ho avuto bisogno di compilare la mia classe se avessi una directory che assomigliava a:

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

e avevo bisogno di compilare Client.java per tenere conto delle modifiche più recenti che avrei digitato:

javac C [TAB]

e sarebbe completo di

javac Client.java

ignorare i file .class perché non puoi eseguire javac su una classe .class. Anche quando volevo eseguire il file digitando

java C [TAB]

risulterebbe in

java Client

senza periodo. Questo è stato un modo molto intelligente di completare il tab che mi sono così abituato ora che mi fa impazzire quando toccherò la scheda e mi darà il Cliente. senza in realtà completare a quello che ho bisogno di essere.

Quindi c'è un modo per rendere più intelligente il completamento del bash di Mac in modo che abbia lo stesso effetto?

    
posta CaldwellYSR 29.12.2011 - 05:09
fonte

2 risposte

4

* nix pacchetti come bash_completion possono essere installati con gestori di pacchetti di terze parti. Suggerisco Homebrew , ma Fink e MacPorts forniscono anche il pacchetto bash_completion . Se non gestisce automaticamente la situazione Java che descrivi, postback o leggi la pagina man.

    
risposta data 29.12.2011 - 06:23
fonte
1

Ti suggerisco di impostare la shell predefinita su zsh anziché su bash. Viene fornito in bundle con Mac OS X ed è completamente compatibile con bash, ma aggiunge alcune funzioni interessanti, incluso il completamento molto più intelligente delle schede.

Provalo con chsh /bin/zsh

C'è anche un ottimo framework per la gestione del tuo ambiente zsh chiamato oh-my-zsh . È un ottimo punto di partenza per alcune potenti personalizzazioni.

    
risposta data 29.12.2011 - 06:06
fonte

Leggi altre domande sui tag