Ketika saya mengetik grep
dan kemudian menekan TABdua kali, bash_completion
akan mencantumkan file dan direktori di direktori saat ini. Itu juga akan melengkapi nama file ketika saya mengetik huruf awal. Itu semua sangat bagus, satu-satunya masalah adalah ketika direktori berisi banyak file dan subdirektori, itu bisa sangat kacau dan tidak terorganisir.
Ini akan sangat membantu jika bash_completion
setidaknya dapat mewarnai direktori secara berbeda, sama seperti apa yang ls -lA
dilakukan.
Apakah ini mungkin?
EDIT:
ini adalah contoh bash_completion
file konfigurasi saya :
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
else
_filedir
fi
bash
tetapi ini adalah perilaku default dizsh
.bash
Jawaban:
Tidak ada fitur di luar kotak seperti ini di versi Bash saat ini, Anda dapat melakukan ini dengan menggunakan
zsh
, ada di sana secara default.Salah satu alat yang terkait dengan penyelesaian disebut
compgen
. Anda dapat meyakinkannya untuk menampilkan perintah yang diwarnai dengan benar, tetapi ini adalah peretasan dan tidak terlalu berguna.Itu akan membuat daftar file keluar benar berwarna, tetapi mendapatkan warna dari
ls
, jadi saya tidak akan mempertimbangkan pewarnaan asli ini denganauto_completion
.Referensi
sumber
ls
dibash_completion
file konfigurasi saya . Sepertinya ada fungsi_filedir
yang mencantumkan file.