Vô hiệu hóa hoàn thành tab bash


19

Có thể tắt tự động hoàn thành của bash trên tab nhấn không?

Lý do tôi muốn làm điều này là vì tôi thường dán mã từ một trình soạn thảo nơi tôi sử dụng ký tự tab thay vì một số khoảng trắng cho mục đích, vào thiết bị đầu cuối của tôi.

Và không, bạn không thể thuyết phục tôi sử dụng khoảng trắng thay vì tab.


Trong zsh, phím Tab sẽ chèn một tab nếu bạn nhấn nó ở đầu một dòng (trước bất kỳ ký tự không phải khoảng trắng nào). Tôi không nghĩ bash có thể được lập trình cho điều đó (bạn có thể liên kết một khóa với chức năng bash, nhưng AFAIK bạn không thể kích hoạt hoàn thành từ chức năng bash đó).
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


16

đặt

 set disable-completion on

chuỗi trong ~/.inputrcvà khởi động lại shell của bạn. nó sẽ vô hiệu hóa hoàn thành tất cả.


không chỉ trong bash mặc dù ...
yrk

8
Để có nó chỉ ảnh hưởng đến Bash, thay vì đưa dòng đó vào ~/.inputrctệp của bạn , hãy thêm dòng này vào tệp khởi động shell thích hợp:bind 'set disable-completion on'
Tạm dừng cho đến khi có thông báo mới.

1
Những gì Dennis đã nói, và tệp khởi động thích hợp là ~/.bashrc(nếu nó không lấy vỏ đăng nhập, hãy thêm source ~/.bashrcvào ~/.bash_profile).
Gilles 'SO- đừng trở nên xấu xa'

6

Để tắt hoàn toàn tab Bash chỉ tạm thời, bạn có thể bắt đầu Bash với --noeditingtùy chọn:

alias noed='bash --noediting'

6

Giải pháp của Dennis

bind 'set disable-completion on'

có thể được thực hiện trên bay ở Bash là tốt. Bạn không cần phải đặt nó trong .bashrc.

Giải pháp của Musta (bash --noediting) hoạt động nhưng cũng vô hiệu hóa chỉnh sửa dòng lệnh.

Một cách khác là

bind -u complete

(bỏ đặt ràng buộc khóa liên quan đến 'hoàn thành')

http://www.gnu.org/software/bash/manual/bashref.html , 4.2 Các lệnh dựng sẵn của Bash.


Câu trả lời đúng cho câu hỏi "làm cách nào để tôi tạm thời vô hiệu hóa hoàn thành Bash?" Điều này giúp ích rất nhiều khi bạn điều hướng qua một thư mục có hơn 81.000 tệp và bạn thậm chí không thể Ctrl + C mà không phải chờ hai phút để Bash quay lại với lời nhắc.
TheDude Abides
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.