Kiedy piszę, grep
a następnie naciśnij TABdwukrotnie, bash_completion
wyświetli się lista plików i katalogów w bieżącym katalogu. Uzupełni także nazwy plików, gdy wpisuję pierwszą literę. To wszystko jest bardzo miłe, jedynym problemem jest to, że gdy katalog zawiera wiele plików i podkatalogów, może być dość chaotyczny i zdezorganizowany.
Bardzo by pomógł, gdyby bash_completion
mógł przynajmniej pokolorować katalogi inaczej, podobnie jak to ls -lA
robi.
czy to możliwe?
EDYTOWAĆ:
tak wygląda mój przykładowy bash_completion
plik konfiguracyjny:
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
else
_filedir
fi
bash
ale jest to domyślne zachowanie wzsh
.bash
Odpowiedzi:
W obecnej wersji Bash nie ma takiej funkcji po wyjęciu z pudełka, możesz to zrobić za pomocą
zsh
, jest ona domyślnie dostępna.Nazywa się jedno z narzędzi związanych z ukończeniem
compgen
. Możesz to zrobić, aby wyświetlać poprawnie pokolorowane polecenia, ale jest to hack i nie jest to praktycznie przydatne.To poprawnie wyświetli listę plików pokolorowanych, ale pobiera kolor
ls
, więc nie zastanawiałbym się nad tym rodzimym koloremauto_completion
.Bibliografia
źródło
ls
w moichbash_completion
plikach konfiguracyjnych. Wygląda na to, że istnieje funkcja,_filedir
która wyświetla listę plików.