Вопрос или проблема
Я использую GNU bash, версия 5.0.17(1)-release (x86_64-pc-linux-gnu). Как я могу увидеть предварительный просмотр того, что произойдет, если я нажму табуляцию для автозаполнения, аналогично оболочке fish. (Извините, я новичок, поэтому могу использовать неправильную терминологию)
Ссылка от @fra-san, кажется, является ответом. Она использует ble.sh ―Bash Line Editor― для подсветки синтаксиса, расширенного автозаполнения и многого другого.
Ответ или решение
Вопрос, который вы задали, касается реализации функции автозаполнения в терминале Bash с предварительным просмотром результатов, как это делает Fish Shell. Ваша цель — настроить баш-терминал так, чтобы предложения для автодополнения отображались в виде текстового предварительного просмотра, обладая "затухающим" эффектом. Для достижения этой задачи можно воспользоваться инструментом ble.sh (Bash Line Editor), который предоставляет расширенные функции, такие как синтаксическая подсветка и улучшенное автодополнение.
Как настроить ble.sh для отображения предварительного просмотра автозаполнения:
-
Установка ble.sh. Для начала, склонируйте репозиторий ble.sh с GitHub:
git clone --recursive https://github.com/akinomyoga/ble.sh.git
Далее, перейдите в директорию проекта и выполните скрипт установки:
cd ble.sh make
Установка завершится успешно, если вы увидите сообщение, указывающее на успешную компиляцию.
-
Активирование ble.sh в вашей сессии Bash. Для этого добавьте следующую строку в файл
~/.bashrc
, чтобы ble.sh запускался каждый раз при инициализации новой сессии терминала Bash:source /путь/к/ble.sh/out/ble.sh
Не забудьте заменить
/путь/к/ble.sh/
на фактический путь до директории, куда вы установили ble.sh. -
Настройка и персонализация. ble.sh предлагает множество настроек, включая стилистику отображения автозаполнений, которую можно настроить в соответствии с вашими предпочтениями. Например, для настройки фона текста-подсказки можно использовать:
bleopt complete_preview=auto
А для цвета и "затухания":
ble-color-setface syntax_default fg=244 # оттенок серого
-
Перезагрузка терминала. После внесения изменений, чтобы они вступили в силу, перезапустите вашу сессию Bash командой:
source ~/.bashrc
Заключение
Использование ble.sh значительно расширяет функциональные возможности вашей командной строки Bash, приближая её функционал к Fish Shell, предлагая при этом большую гибкость в конфигурации и настройке. Это решение делает работу в терминале более эффективной и интуитивно понятной, особенно для тех, кто привык к продвинутым подсказкам и автозавершениям в современных шеллах. Если настроить этот инструмент правильно, вы получите значительно улучшенное и приятное окружение для работы в командной строке.