colorize bash_completion


9

เมื่อฉันพิมพ์grepแล้วกดTABสองครั้งbash_completionจะแสดงรายการไฟล์และไดเรกทอรีในไดเรกทอรีปัจจุบัน มันจะเติมชื่อไฟล์ให้สมบูรณ์เมื่อฉันพิมพ์อักษรตัวแรก นั่นคือทั้งหมดที่ดีมากปัญหาเดียวคือเมื่อไดเรกทอรีที่มีไฟล์และไดเรกทอรีย่อยจำนวนมากก็สามารถวุ่นวายและไม่เป็นระเบียบ

มันจะช่วยได้มากหากbash_completionอย่างน้อยไดเรกทอรีสีอาจแตกต่างกันคล้ายกับสิ่งที่ls -lAทำ

เป็นไปได้ไหม

แก้ไข:

นี่คือรูปตัวอย่างbash_completionไฟล์ปรับแต่งของฉัน:

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

else
    _filedir
fi

1
ผมไม่ทราบว่านี้เป็นไปได้ในแต่มันเป็นพฤติกรรมปกติในbash zsh
terdon

1
ในกรณีที่ไม่ชัดเจนฉันกำลังมองหาวิธีแก้ปัญหาสำหรับbash
มาร์ติน Vegter

คุณแสดงไฟล์อะไร
terdon

คำตอบ:


7

ไม่มีคุณลักษณะแบบไม่อยู่ในกรอบเช่นนี้ในเวอร์ชันปัจจุบันของ Bash คุณสามารถทำได้โดยใช้zshเป็นค่าเริ่มต้น

compgenหนึ่งในเครื่องมือที่เกี่ยวข้องกับการดำเนินการเสร็จสมบูรณ์ที่เรียกว่า คุณสามารถ finagle มันเพื่อแสดงคำสั่ง colorized อย่างถูกต้อง แต่นี่คือแฮกและไม่ใช่ว่ามีประโยชน์จริง

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

ที่ถูกต้องจะแสดงรายการแฟ้มออก colorized แต่มันได้รับสีจากดังนั้นฉันจะไม่พิจารณาเรื่องนี้โดยการระบายสีพื้นเมืองlsauto_completion

อ้างอิง


โปรดดูการแก้ไขของฉัน ฉันไม่มีไฟล์ config lsของฉัน bash_completionดูเหมือนว่ามีฟังก์ชั่น_filedirที่แสดงรายการไฟล์
Martin Vegter
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.