การเติมแท็บเทอร์มินัล [ซ้ำกัน]


15

เป็นไปได้ซ้ำ:
ทุบตีเสร็จสมบูรณ์สำหรับคำสั่งใน Mac OS

ฉันเพิ่งย้ายจาก linux ไปยัง mac และหนึ่งในปัญหาที่ฉันมีคือการทำให้แท็บเสร็จสมบูรณ์เพียง 1 ระดับและฉันไม่แน่ใจว่าจะแก้ไขได้อย่างไร

ให้ฉันอธิบายตามตัวอย่าง - เมื่อฉันใช้คอมไพล์บน Ubuntu ฉันจะเริ่มพิมพ์

$ git

และกดที่แท็บและเชลล์จะทำคำสั่งให้สมบูรณ์หรือแสดงตัวเลือกที่มีให้สำหรับตัวอักษร \ s ที่ฉันพิมพ์ นั่นคือสิ่งที่เกิดขึ้นกับ mac ของฉันเช่นกัน (ระดับ 1) อย่างไรก็ตามเมื่อฉันพิมพ์ส่วนต่อไปของคำสั่งต่อไป

$ git commit

และกด tab แท็บ mac terminal จะไม่ทำตามคำสั่งย่อยถัดไป (สำหรับ git) เหมือนใน Linux เช่นเดียวกันสำหรับโปรแกรมอื่น ๆ ที่สนับสนุนการเสร็จสิ้นคำสั่งหลายระดับนี้ ฉันสงสัยว่านี่อาจเป็นปัญหาห้องสมุด readline แต่ฉันไม่แน่ใจว่าควรติดตั้งอันไหน


มันไม่ใช่ปัญหาเกี่ยวกับ readline (อันที่จริงแล้วมันไม่ใช่ "ปัญหา") เป็นเพราะ Ubuntu ถือมือของคุณด้วยแพ็คเกจแบบกำหนดเองสำหรับทุบตี
Jed Smith

นี่เป็นปัญหาการกำหนดค่า bash อย่างแน่นอน (เนื่องจากฉันได้รับพฤติกรรมนี้บน mac + อื่น ๆ อีกมากมายที่ฉันได้กำหนดค่าไว้เช่นเสร็จสิ้นชื่อโฮสต์) คุณควรมองหาสคริปต์พลังงานสำหรับการทุบตีและเพิ่มลงในโปรไฟล์ของคุณ
Shane C. Mason

คำตอบ:


13

ดาวน์โหลดbash_completion.bashrcและแหล่งที่มาได้จากคุณ จากนั้นใส่จากการกระจายคอมไพล์ลงcontrib/completion/git-completion.bashbash_completion.d

หรือคุณสามารถติดตั้งได้ผ่านMacPorts


ขอบคุณมันใช้งานได้ ฉันเพิ่มสิ่งต่อไปนี้ใน. bashrc ของฉันถ้า [-f / opt / local / etc / bash_completion]; จากนั้นแหล่งที่มา / opt / local / etc / bash_completion fi
sa125

1
ยิ่งไปกว่านั้นติดตั้งผ่าน homebrew: ชงติดตั้ง bash-completion
abyx

@abyx: การเลือก "ดีกว่า" ระหว่าง homebrew และ macports เป็นเรื่องส่วนตัวมาก

2

สำหรับ git มีตัวเลือกในการรวบรวมเพื่อสนับสนุนความสมบูรณ์

หากคุณใช้พอร์ตเพื่อติดตั้ง Git (ซึ่งฉันแนะนำ) คุณสามารถติดตั้ง Git ใหม่ด้วยคำสั่งนี้

sudo port install git-core +svn+bash_completion+doc

ซึ่งจะติดตั้ง git ด้วย bash complete รองรับ git-svn และเอกสาร

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