Qu'est-ce que Alt + Shift + {?

10

Testé sur CentOS et Ubuntu, si vous êtes dans un répertoire avec une tonne de fichiers

$ ls
day1.tar.gz  day2.tar.gz  day3.tar.gz  day4.tar.gz  day5.tar.gz  day6.tar.gz  day7.tar.gz  day8.tar.gz day9.tar.gz day10.tar.gz

Et vous le frappez Alt+Shift+{complètera tous les noms de fichiers

<Alt+Shift+{>

complète à:

 day{1{0.tar.gz,.tar.gz},2.tar.gz,3.tar.gz,4.tar.gz,5.tar.gz,6.tar.gz,7.tar.gz,8.tar.gz,9.tar.gz}

et

day1<Alt+Shift+{>

complète à:

day1{0.tar.gz,.tar.gz}

Questions : qu'est-ce que c'est? Comment ça s'appelle? Où est-ce utile? Comment puis-je le configurer? Puis-je faire cela avec pour les fichiers qui se terminent par une sous-chaîne qui ne commence pas par une?

Mikhail
la source

Réponses:

9

Dans Bash, il exécute la fonction readline complete-into-braces.

L'expansion d'accolade est un moyen utile d'abréger une référence à plusieurs fichiers.

Par exemple:

ls -l /path/to/dir/*.{c,h}

répertorierait tous les fichiers se terminant par ".c" ou ".h".

De man bash:

complete-into-braces (M- {)
Effectuez la complétion du nom de fichier et insérez la liste des compléments possibles entre accolades pour que la liste soit disponible pour le shell (voir Expansion d'accolade ci-dessus).

et

Expansion de l'
accolade L'expansion de l'accolade est un mécanisme par lequel des chaînes arbitraires peuvent être générées. Ce mécanisme est similaire à l'expansion des noms de chemin, mais les noms de fichiers générés n'ont pas besoin d'exister. Les modèles à développer entre accolades prennent la forme d'un préambule facultatif, suivi soit d'une série de chaînes séparées par des virgules, soit d'une expression de séquence entre une paire d'accolades, suivie d'un post-scriptum facultatif. Le préambule est préfixé à chaque chaîne contenue dans les accolades, et le post-scriptum est ensuite ajouté à chaque chaîne résultante, s'étendant de gauche à droite.

Les extensions d'accolade peuvent être imbriquées. Les résultats de chaque chaîne développée ne sont pas triés; l'ordre de gauche à droite est conservé. Par exemple, a {d, c, b} e se développe en «ade ace abe».

L'achèvement, par définition, se termine donc il fonctionne avec des fichiers qui commencent par une chaîne.

En pause jusqu'à nouvel ordre.
la source
Je suis étonné .. Il s'agit d'une extension d'accolade inverse! ... Bien;) ...
Peter.O