tô màu bash_completion


9

Khi tôi gõ grepvà sau đó nhấn TABhai lần, bash_completionsẽ liệt kê các tệp và thư mục trong thư mục hiện tại. Nó cũng sẽ hoàn thành tên tập tin khi tôi gõ chữ cái đầu tiên. Đó là tất cả rất tốt đẹp, vấn đề duy nhất là khi thư mục chứa nhiều tệp và thư mục con, nó có thể khá hỗn loạn và vô tổ chức.

Nó sẽ giúp rất nhiều nếu bash_completionít nhất có thể các thư mục màu khác nhau, tương tự như những gì ls -lA.

Điều này có thể không?

BIÊN TẬP:

đây là những gì bash_completiontập tin cấu hình mẫu của tôi trông như thế nào:

if [[ ${cur} == -* ]] ; then
    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    return 0

else
    _filedir
fi

1
Tôi không biết điều này có thể xảy ra hay không bashnhưng đó là hành vi mặc định zsh.
terdon

1
trong trường hợp không rõ ràng, tôi đang tìm giải pháp chobash
Martin Vegter 2/214

Bạn đang hiển thị tập tin nào?
terdon

Câu trả lời:


7

Không có tính năng vượt trội nào như thế này trong phiên bản Bash hiện tại, bạn có thể thực hiện việc này bằng cách sử dụng zsh, theo mặc định là có.

Một trong những công cụ liên quan đến việc hoàn thành được gọi compgen. Bạn có thể tinh chỉnh nó để hiển thị các lệnh được tô màu chính xác, nhưng đây là một hack và không thực sự hữu ích.

$ compgen -W "$(ls --color=always *)"

Điều đó sẽ liệt kê chính xác các tập tin được tô màu, nhưng nó sẽ lấy màu từ đó ls, vì vậy tôi sẽ không xem xét màu này auto_completion.

Người giới thiệu


xin vui lòng xem chỉnh sửa của tôi. Tôi không có bất kỳ tập tin cấu hình lscủa tôi bash_completion. Có vẻ như có một chức năng _filedirliệt kê các tập tin.
Martin Vegter
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.