Mac Terminal Auto Complete

J’ai cherché un patch pour ça. Habituellement, sur un terminal Unix / Linux lorsque vous appuyez sur la touche tab, celle-ci s’achèvera automatiquement jusqu’à ce qu’il y ait plusieurs options, puis les options ci-dessous vous seront proposées. Par exemple:

cd he helpFolder/ helpMe/ heIsThere/ cd help 

Maintenant, avec le terminal Mac, cela vous oblige à appuyer deux fois pour voir les options et je me demandais s’il était possible de changer ce paramètre en une seule pression sur un onglet?

Mettez ceci dans votre ~/.inputrc :

 set show-all-if-ambiguous on 

Vous devrez redémarrer votre shell (par exemple en ouvrant une nouvelle fenêtre de terminal ou en tapant exec /bin/bash ).

  1. Tapez le terminal nano ~/.inputrc
  2. Collez les éléments suivants sur des lignes séparées

     set completion-ignore-case on set show-all-if-ambiguous on TAB: menu-complete 
  3. Hit Control + O pour enregistrer les modifications apscopes à .inputrc suivi de control + X pour quitter
  4. Ouvrez une nouvelle fenêtre ou un nouvel onglet, ou tapez «login» pour ouvrir une nouvelle session avec les règles en vigueur.
  5. Tapez et appuyez sur la touche de tabulation

Src: http://osxdaily.com/2012/08/02/improve-tab-completion-in-mac-os-x-terminal/

Ce que vous voulez changer, c’est la configuration du shell Bash. La version de mon système d’exploitation est 10.11.6 et j’utilise mvim, ici juste vim ou vi, si le ~ / .inputrc n’existe pas, vous devez en créer un nouveau.

  1. Dans le terminal, tapez vim /.inputrc .
  2. Il faut activer la variable achèvement-ignore-case et show-all-if-ambiguous pour qu’elle soit activée. Pour ce faire, collez ces parameters sur deux lignes, set completion-ignore-case on et set show-all-if-ambiguous on

  3. Ajouter une TAB: menu-complete et écrire et quitter le vim. : wq

  4. Quittez le terminal en cours d’exécution, Commande + Q.
  5. Redémarrez Terminal et vérifiez le résultat.

J’ajoute une nouvelle réponse parce que, dans mon cas, l’ajout du set show-all-if-ambiguous on lignes set show-all-if-ambiguous on ne voit pas du tout était suffisant.

J’ai également dû supprimer la ligne: TAB: menu-complete .

Mon fichier complet ~/.inputrc est le suivant:

 set completion-ignore-case on set show-all-if-ambiguous on