Cmder - Sử dụng <tab> để chuyển qua tự động hoàn thành các ứng cử viên?


18

Trong cmd.exe gốc trong Windows, có thể được sử dụng để xoay vòng tự động hoàn thành các ứng cử viên. Nhưng trong cmder, tính năng này dường như bị loại bỏ. Có dù sao để kích hoạt nó?


Tại sao bạn thử cmder thay vì ConEmu chính thức hơn?
Maximus

@Maximus Chỉ cần bắt gặp cmder và chưa bao giờ thử người khác ... Cảm ơn!
dofine

2
cmder chỉ là một ConEmu được cấu hình sẵn với một số phần mềm của bên thứ ba
Maximus

Câu trả lời:


19

Như đã đề cập ở trên, ' cmder ' là sự kết hợp của các phần mềm nguồn mở khác. Phần mềm kiểm soát hành vi hoàn thành tab là ' clink '. Để thay đổi hành vi này, điều hướng đến thư mục ' cmder ' của bạn và sau đó tìm:

\ cmder \ nhà cung cấp \ clink \ clink_inputrc_base

Mở 'clink_inputrc_base', lưu bản gốc sao lưu và sau đó thay thế cả hai dòng đọc:

"\ t": clink-hoàn thành-shim

với:

"\ t": hoàn thành menu

đối với hành vi thay đổi chu kỳ tab + tab, cũng thêm một dòng bên dưới mỗi dòng trên có nội dung:

"\ e`Z": menu hoàn thành-lùi

Điều này làm việc cho tôi. Tín dụng cho liên kết này cho thông tin về sửa đổi hành vi clink:

https://github.com/mridgers/clink/issues/190

EDIT: Vui lòng xem nhận xét của tôi bên dưới hoặc câu trả lời bổ sung từ 'thủy triều'. Trong các phiên bản mới hơn của cmder, quy trình này hơi đơn giản. Bạn chỉ cần bỏ ghi chú các dòng như mô tả trong tệp, xem bình luận của tôi hoặc câu trả lời khác để biết thêm chi tiết.


CẬP NHẬT: Tôi vừa tải xuống một phiên bản mới hơn của cmder (v1.3.6) và bây giờ tệp ở trên có hai dòng nhận xét, bên trên có ghi "# Uncomment hai dòng này để hoàn thành kiểu vanilla cmd.exe." Nếu bạn không chú ý đến hai dòng dưới đây, nó sẽ đạt được hành vi tương tự như câu trả lời của tôi ở đây.
ria mép

Có thể làm cho <tab> hoạt động như: 1st <tab> - liệt kê tất cả các lệnh có thể, thứ 2 và sau <tab> - hoàn thành?
X.Arthur

10

Trên thực tế, trong \cmder\vendor\clink\clink_inputrc_basetệp đã có những dòng này ở cuối:

# Uncomment these two lines for vanilla cmd.exe style completion.
# "\t": clink-menu-completion-shim
# "\e`Z": clink-backward-menu-completion-shim

Nếu bạn loại bỏ các #ký tự của hai dòng cuối, bạn sẽ có hành vi mong muốn.


Cảm ơn, có lưu ý điều này trong ý kiến ​​của tôi vào ngày 22 tháng 6. Điều này đã không có mặt trong các phiên bản trước của cmder.
ria mép

Dù sao để loại trừ các mục không thực sự trong thư mục làm việc hiện tại?
hellyale

Vẫn không tự động hoàn thành cho gitlệnh
Kolob Canyon

2

Clink thay đổi hành vi hoàn thành Tab. Vì vậy: xóa clink khỏi vendorsthư mục, bỏ chọn Sử dụng clink trong dấu nhắc .


Nó hoạt động sau khi tôi xóa clink, mặc dù tôi đã không kiểm tra Use clink in promptở nơi đầu tiên. Một vấn đề nữa là bây giờ {lamb}{git}{hg}xuất hiện. Dấu nhắc Git dường như bị hỏng khi tôi cd vào thư mục git.
dofine

Cài đặt ConEmu chính thức và cấu hình nó theo sở thích của bạn
Maximus

@Maximus thế nào? bạn có thể mở rộng
peval27
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.