Nonaktifkan penyelesaian tab bash

19

Apakah mungkin untuk menonaktifkan pelengkapan otomatis bash pada menekan tab?

Alasan saya ingin melakukan ini adalah karena saya sering menempelkan kode dari editor tempat saya menggunakan karakter tab alih-alih sejumlah spasi untuk indentasi, ke terminal saya.

Dan tidak, Anda tidak dapat meyakinkan saya untuk menggunakan spasi alih-alih tab.

Tyilo
sumber
Di zsh, tombol Tab menyisipkan tab jika Anda menekannya di awal baris (sebelum karakter non-spasi putih). Saya tidak berpikir bash dapat diprogram untuk itu (Anda dapat mengikat kunci ke fungsi bash, tetapi AFAIK Anda tidak dapat memicu penyelesaian dari fungsi bash).
Gilles 'SO- stop being evil'

Jawaban:

16

taruh

 set disable-completion on

string dalam ~/.inputrcdan restart shell Anda. itu akan menonaktifkan penyelesaian sama sekali.

buru-buru
sumber
tidak hanya di bash ...
yrk
8
Untuk membuatnya hanya memengaruhi Bash, alih-alih memasukkan baris itu ke ~/.inputrcfile Anda , tambahkan ini ke file startup shell yang sesuai:bind 'set disable-completion on'
Dijeda hingga pemberitahuan lebih lanjut.
1
Apa kata Dennis, dan file startup yang sesuai adalah ~/.bashrc(jika tidak mengambil shell login, tambahkan source ~/.bashrcke ~/.bash_profile).
Gilles 'SANGAT berhenti menjadi jahat'
6

Untuk menonaktifkan penyelesaian tab Bash hanya sementara, Anda dapat memulai Bash dengan --noeditingopsi:

alias noed='bash --noediting'
musta
sumber
6

Solusi Dennis

bind 'set disable-completion on'

dapat dilakukan dengan cepat di Bash juga. Anda tidak perlu memasukkannya ke dalam .bashrc.

Solusi Musta (bash --noediting) berfungsi tetapi juga menonaktifkan pengeditan baris perintah.

Cara lain adalah

bind -u complete

(batalkan penguncian kunci yang terkait dengan 'lengkap')

http://www.gnu.org/software/bash/manual/bashref.html , 4.2 Perintah Bash Builtin.

thomas tulinsky
sumber
Jawaban yang benar untuk pertanyaan "bagaimana saya menonaktifkan sementara penyelesaian Bash?" Ini sangat membantu ketika Anda menavigasi direktori dengan 81.000 file dan Anda bahkan tidak dapat Ctrl + C tanpa menunggu dua menit sampai Bash kembali dengan prompt.
TheDudeAbides