Страница 1 из 1

bash-complete-partial-path - Автодополнение сокращенных путей в BASH

Добавлено: 20 июл 2018, 05:02
Chocobo
Описание:
bash-complete-partial-path - предлагает расширенную обработку завершения пути в Bash, добавляя удобное развертывание неполных вариантов представления, как это работает в Zsh, без установки последнего.

Вот как это работает.
Когда нажата клавиша Tab, bash-complete-partial-path предполагает, что каждый компонент является неполным и пытается его расширить. Предположим, вы хотите перейти к /usr/share/applications. Вы можете ввести cd /u/s/app, нажать Tab, а bash-complete-partial-path - развернет его в правильный cd /usr/share/applications. Если есть множественные вхождения поддиректорий, то при нажатии Tab заканчивается только путь без конфликтов. Например, у нас есть несколько директорий в /usr/share, которые начинаются с app, поэтому в случае ввода cd /u/s/app будет развернута только часть с /usr/share/.

По ссылке - наглядная демонстрация возможностей: https://asciinema.org/a/191776

еще один пример более глубокого расширения пути к файлу. Введите cd /u/s/f/t/u, нажмите Tab, и путь будет развернут до cd /usr/share/fonts/truetype/ubuntu

Особенности:

  • Экранирование специальных символов
  • Если пользователь запускает путь с кавычками, экранирование символов не применяется, кавычка закрывается соответствующим символом после раскрытия пути
  • Корректное расширение ~
  • Если пакет bash-completion уже используется, этот код безопасно переопределит его функцию _filedir. Никакой дополнительной конфигурации не требуется
Установка:
1. Скопировать актуальную версию расширения в ~/.config

Код: Выделить всё

# Install or update bash-complete-partial-path
mkdir -p "$HOME/.config/bash-complete-partial-path/" && \
curl \
 -o "$HOME/.config/bash-complete-partial-path/bash_completion" \
 "https://raw.githubusercontent.com/sio/bash-complete-partial-path/master/bash_completion"
2. добавить строки вызова в ~/.bashrc

Код: Выделить всё

# Enhanced file path completion in bash - https://github.com/sio/bash-complete-partial-path
[ -s "$HOME/.config/bash-complete-partial-path/bash_completion" ] && \
    source "$HOME/.config/bash-complete-partial-path/bash_completion"
3. Перечитать конфиг

Код: Выделить всё

source ~/.bashrc

bash-complete-partial-path - Автодополнение скращенных путей в BASH

Добавлено: 20 июл 2018, 06:29
rogoznik
А я уже как-то привык к zsh, плюс она умеет ветки git показывать, у bash такого не видел

bash-complete-partial-path - Автодополнение сокращенных путей в BASH

Добавлено: 20 июл 2018, 10:36
Chocobo
darkfenix, У zsh поболе готовых плюшек, конечн.
тут конкретный небольшой твик к конфигурации исходного баша, чтоб сильно ничего не лопатить)