Як можна змінити напрям альт-періоду в Баші?


10

У Bash ви можете натиснути Alt- .щоб вставити останній аргумент попередньої команди. Якщо ви натискаєте його кілька разів, він переглядає останні аргументи всіх команд вашої історії. Однак іноді я натискаю на нього занадто багато разів, і мені хочеться змінити напрямок їзди на велосипеді, отже, йти вперед. Чи можливо це?

(Тобто , якщо ви зворотний я-пошук з Ctrl- rви можете змінити напрямок з Ctrl- s. Що є аналогом для Alt- .?)

Відповіді:


11

Якщо ви подаєте негативний аргумент на Alt- ., він змінює напрямок. Найпростіший спосіб (за допомогою стандартних прив'язок клавіш) - Alt- -(еквівалент аргументу -1).

Отже, після одного або декількох Alt- .натискання клавіш, натискання Alt- -призведе до того, що наступне Alt- .піде у зворотному напрямку. (Просто ігноруйте діалогове вікно аргументу, яке з’являється при натисканні Alt- -.)


1
Я не впевнений, що саме ти маєш на увазі. Натискання Alt+ -видаляє командний рядок і вставляє (arg: -1)натомість. Сама команда незмінна.
Sparhawk

1
Наступний альт- (з -1 аргументом) піде вперед.
rici

Це чудово! Я відредагував відповідь, щоб зробити її трохи зрозумілішою. Що alt+ -робить саме?
Sparhawk

1
@Sparhawk: як я вже сказав, alt -виробляє аргумент -1для наступної команди readline. Або, точніше, він починає негативний аргумент, тож alt -, alt` 2створює аргумент -2. У випадку з значенням є alt .лише ознака аргументу, і лише якщо вона негативна, alt -достатньо. (Перший alt .розглядає свої аргументи по-різному. Дивіться посібник з баш.)
rici

Дякую. Я часто знаходжу man bashтрохи непрозорі для таких ситуацій, але, думаю, тут це трохи з’ясовано.
Sparhawk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.