Отключить автоматическое завершение, но сохранить подсказки в Bash

Вопрос или проблема

Я хочу отключить автозаполнение (нажатие Tab для автоматического завершения команды) в моем Bash на Linux, но оставить сочетание двойного нажатия Tab для отображения предложений, чтобы я мог ввести оставшуюся часть команды сам.

Создайте файл в вашем домашнем каталоге с именем .inputrc и поместите туда следующее содержимое:

"\t": self-insert
"\t\t": possible-completions

Затем перезапустите вашу оболочку.

  • Первая строка переписывает стандартное связывание для Tab, чтобы выполнить действие self-insert (т.е. вставить буквальный символ табуляции)
  • Вторая строка добавляет новое связывание для двойного нажатия Tab, которое выполняет действие possible-completions (выводит возможные завершения)

Обратите внимание, что это имеет небольшое ограничение – вставка символа \t при нажатии клавиши Tab буферизуется (задерживается), пока оболочка ждет, увидите ли вы, нажмете ли дважды клавишу Tab.

Вы можете найти список доступных действий, используя bind -P в оболочке Bash.

Источники –

Ответ или решение

Как отключить автозавершение в Bash, оставив возможность вывода подсказок

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

Шаг 1: Создание файла конфигурации

Для начала вам потребуется создать конфигурационный файл в вашем домашнем каталоге. Этот файл называется .inputrc и будет использоваться для настройки поведения Bash. Для этого выполните следующие команды в терминале:

nano ~/.inputrc

Это откроет текстовый редактор Nano. Если предпочтителен другой редактор (например, Vim или Emacs), вы можете использовать его.

Шаг 2: Настройка файла .inputrc

В открывшемся файле добавьте следующие строки:

"\t": self-insert
"\t\t": possible-completions

Значение настроек:

  1. "\t": self-insert
    Эта строка переопределяет стандартное поведение клавиши Tab. Вместо автоматического завершения команды, нажатие Tab будет вставлять символ табуляции, что позволит вам вводить текст команды самостоятельно.

  2. "\t\t": possible-completions
    Эта строка настраивает двойное нажатие Tab для вывода списка возможных завершений команд. Таким образом, вы сможете видеть доступные команды и файлы, не прибегая к их автоматическому завершению.

Шаг 3: Перезапуск терминала

После того как вы внесли изменения в файл .inputrc, необходимо перезапустить вашу оболочку Bash, чтобы изменения вступили в силу. Вы можете сделать это, закрыв и открыв терминал или выполнив команды:

source ~/.inputrc

Ограничения

Обратите внимание, что при использовании приведенного выше подхода существует небольшой нюанс. Вставка символа табуляции при одном нажатии клавиши Tab будет отложена (буферизована). Это происходит потому, что оболочка ожидает, будет ли выполнено двойное нажатие, чтобы показать возможные завершения. Этот момент необходимо учитывать при работе с вашими командами.

Полезные команды

Если вам нужно просмотреть список доступных действий для настройки клавиш, вы можете выполнить следующую команду в терминале:

bind -P

Это представит вам полный список возможных действий и их соответствующие клавиши.

Заключение

Настройка поведения клавиши Tab в Bash позволяет улучшить взаимодействие с командной строкой, обеспечивая при этом большую гибкость. Отключение автозавершения при двойном нажатии клавиши может быть особенно полезным для опытных пользователей, которые предпочитают вводить команды вручную, сохраняя при этом возможность проверки доступных опций.

Используйте предоставленные инструкции, чтобы адаптировать вашу среду Bash под личные предпочтения и улучшить свою продуктивность.

Источники

Оцените материал
Добавить комментарий

Капча загружается...