Hoàn thành tab cho Mercurial ở Bash?


7

Sử dụng Subversion trên dòng lệnh, nó thông minh hoàn thành các tab con có sẵn, v.v .:

$ svn c<tab>
cat         checkout    cl          co          copy        
changelist  ci          cleanup     commit      cp  

Mặt khác, Mercurial dường như không hoàn thành tab, ít nhất là ngoài hộp:

$ hg c<tab> 
[nothing happens]

Bash hoàn thành cho Mercurial có sẵn không? Cách đơn giản nhất để làm cho nó hoạt động là gì? Tôi đang dùng Ubuntu 11.04.

Câu trả lời:


4

Trong Ubuntu 10.04, nó hoạt động tốt. Trong bash:

$ hg c
cat       checkout  clone     commit    copy

Hoặc trong zsh:

$ hg c
cat       checkout  ci        clone     co        commit    copy      cp

Có lẽ bạn có một gói bị thiếu (hoặc bạn gặp lỗi).

Trên hệ thống của tôi, tập tin hoàn thành được cung cấp bởi gói đồng bóng:

$ dpkg -S /etc/bash_completion.d/mercurial 
mercurial: /etc/bash_completion.d/mercurial

Cảm ơn - lý do nó không hoạt động với tôi là vì tôi vừa cài đặt gói "đồng bóng" và bashrc đã không được đọc lại! Vì vậy, ví dụ như mở một tab thiết bị đầu cuối mới hoặc chỉ cần gõ bashđã làm cho nó hoạt động. Vâng, tôi rất vui vì nó hoạt động mà không cần thêm bất kỳ tinh chỉnh nào. :)
Jonik

7

Tàu Mercurial hoàn thành bash của riêng mình - xem contrib / bash_completion trong tarball. Ít nhất là trên openSUSE, tệp này được cài đặt vào /etc/bash_completion.d/, để việc hoàn thành bash cho mercurial hoạt động tự động. Bạn có thể cần kiểm tra gói đồng bóng của Ubuntu, nếu nó cài đặt tập lệnh hoàn thành.


+1, tập tin /etc/bash_completion.d/mercurialdường như cũng có sẵn trong gói "đồng bóng" trên Ubuntu. Xem bình luận của tôi để trả lời của maxschlepzig ...
Jonik

6

Tôi đã xây dựng đồng bóng từ một bản phát hành nguồn và phải tự cài đặt tập lệnh hoàn thành. Đây là cách để làm điều này:

$ cd
$ wget http://selenic.com/hg/raw-file/25e4d2f35965/contrib/bash_completion -P opt/packages/mercurial
$ echo ". opt/packages/mercurial/bash_completion" >> .bashrc
$ . opt/packages/mercurial/bash_completion

Hoàn thành là BẬT.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.