Що таке Alt + Shift + {?


10

Випробували це на CentOS і Ubuntu, якщо ви знаходитесь в каталозі з тоною файлів

$ 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

І ви потрапили на Alt+Shift+{нього, буде дивним чином завершувати кожне ім'я файлу

<Alt+Shift+{>

доповнює:

 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}

і

day1<Alt+Shift+{>

доповнює:

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

Запитання : Що це? Як це називається? Де це корисно? Як це можна налаштувати? Чи можу я це зробити для файлів, які закінчуються підрядкою, а не починаються з однієї?

Відповіді:


9

У Bash він виконує функцію readline complete-into-braces.

Розширення дужок - корисний спосіб скорочення посилань на кілька файлів.

Наприклад:

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

перерахував би всі файли, які закінчуються на ".c" або ".h".

Від man bash:

завершити в дужки (M- {)
Виконайте завершення назви файлу та вставіть список можливих завершень, включених до дужок, щоб список був доступний оболонці (див. Розширення дужки вище).

і

Розширення брекетів Розширення
дужок - це механізм, за допомогою якого можуть генеруватися довільні рядки. Цей механізм схожий на розширення імені траєкторії, але створені імена файлів не повинні існувати. Шаблони, що підлягають розширенню дужок, набувають форми необов'язкової преамбули з наступною послідовністю рядків, розділених комами, або виразом послідовності між парою дужок, а потім необов'язковим післяписним повідомленням. Преамбула є префіксом до кожного рядка, що міститься в дужках, а постскрипт потім додається до кожного результуючого рядка, розширюючи зліва направо.

Розширення дужок можуть бути вкладені. Результати кожного розгорнутого рядка не сортуються; порядок зліва направо зберігається. Наприклад, a {d, c, b} e розширюється в `ade ace abe '.

Завершення, за визначенням, завершується, тому воно працює з файлами, які починаються з рядка.


Я вражений .. Це зворотне розширення брекетів! ... Хороший;) ...
Пітер.О
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.