Saya baru saja beralih dari bash ke menggunakan zsh 4.3.4 di Ubuntu Hardy. Saya mengembangkan dengan git dan saya menemukan diri saya terus berjuang dengan penyelesaian git default: penyelesaian nama file mencoba menjadi pintar dengan mendeteksi apa yang Anda tambahkan atau hapus (menggunakan file git-ls-file) tetapi kadang-kadang ada yang salah --- misal, jika Anda berada di dalam sub-direktori. Ia juga tidak tahu tentang alias git kustom saya (misalnya, git ci sebagai alias untuk komit).
zsh superuser, bagaimana saya harus memperbaiki situasi ini?
Berikut adalah beberapa pemikiran saya, meskipun saya tidak tahu bagaimana menerapkannya karena saya baru di zsh, jadi mungkin Anda dapat membantu atau menawarkan sendiri:
- Nonaktifkan penyelesaian nama file git, hanya menyisakan cabang / tag / nama-perintah / opsi-penyelesaian perintah.
- Ganti penyelesaian nama file "pintar" dengan penyelesaian nama file zsh biasa.
- Dapatkan file penyelesaian _git yang lebih baru, jika memperbaiki bug ini, dan ganti yang sistem.
Terima kasih!
sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git
Jawaban:
Coba perbarui ke versi terbaru Zsh. Saya baru saja memutakhirkan dari 4.3.4 ke 4.3.10 dan setidaknya memperbaiki masalah dengan alias Git yang tidak selesai.
Alih-alih meretas instalasi saya, saya menambahkan ini ke lokal saya
.zshrc
:sumber
Untuk proyek besar, bahkan skrip penyelesaian git yang lebih baru terlalu lambat. Untuk menonaktifkannya dan hanya menggunakan penyelesaian file normal, tempatkan perintah berikut ini di .zshrc Anda:
sumber