GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment rendre la saisie semi-automatique du terminal lorsqu'il y a plusieurs fichiers/répertoires ?

Si j'ai plusieurs répertoires, comme :

afoo abar

parfois mon terminal refusera la saisie semi-automatique lorsque j'appuie sur tabulation (par exemple "cd a" puis tabulation) et imprimera la liste des répertoires à la place. Parfois, il émet même un son bruyant et ennuyeux. Avez-vous une idée de la façon de le rendre automatique dans des cas comme celui-ci ? Par exemple, il peut afficher abar d'abord, puis afoo si j'appuie à nouveau sur tab. J'ai vu que c'était le cas sous Windows, ou certaines applications sous Ubuntu

Meilleure réponse

Ce qui me sauve la vie, c'est que bash passe en revue les possibilités au lieu d'afficher une liste stupide.

Comme bash utilise readline pour son auto-complétion, ajoutez les lignes suivantes à ~/.inputrc

Une fois que vous êtes satisfait et que vous avez soigneusement testé la solution ci-dessous pendant quelques jours/semaines, coupez et collez (ne copiez pas !) les mêmes paramètres de ~/.inputrc vers /etc/inputrc qui contient les paramètres à l'échelle du système, ce qui les rend disponibles pour tous les utilisateurs de votre système (y compris les invités).

Le code :

# mappings to have up and down arrow searching through history:
"e[A": history-search-backward
"e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"e[C": forward-char
"e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"t": menu-complete
"e[Z": menu-complete-backward

puis exit votre terminal (ou terminal distant comme putty) et rouvrez-le…

Exemples :

  1. Lorsque vous avez 3 fichiers :file1 , file2 et file3 et tu tapes :

    e fTabTabTab

    il passera en revue :

    e file1
    e file2
    e file3
    

    et lorsque vous voulez revenir en arrière, appuyez simplement sur Maj +Tab

  2. Lorsque vous tapez :

    very-complicated-command with lots of command line parameters
    

    et la prochaine fois que vous aurez besoin de la même commande, il vous suffira de taper :

    very

    et il tapera pour vous :

    very-complicated-command with lots of command line parameters
    

Cela vous fera gagner beaucoup de temps en bash ! 😉


Ubuntu
  1. Comment afficher le chemin complet d'un fichier ou d'un répertoire dans le terminal ?

  2. Comment faire en sorte que le bouton du terminal Unity ouvre un terminal séparé?

  3. Faire Ctrl + t ouvrir un nouvel onglet (chrome) en dehors de Chrome ?

  4. Comment démarrer un terminal avec le répertoire de travail actuel en tant que "home" au lieu de "root" par défaut ?

  5. Comment utiliser Gsettings lorsqu'aucun schéma n'est répertorié ?

Comment compter les fichiers dans le répertoire sous Linux

Comment télécharger des fichiers en utilisant la ligne de commande dans Ubuntu Terminal

Comment extraire des fichiers dans un dossier particulier sous Linux

Comment rendre les astérisques de mot de passe visibles dans le terminal Ubuntu

Comment afficher des fichiers gif dans Ubuntu Terminal

Comment supprimer des fichiers et des répertoires sur un terminal Linux