bashタブの補完を無効にする


19

タブを押すとbashのオートコンプリートを無効にすることは可能ですか?

私がこれをしたいのは、インデントに多くのスペースの代わりにタブ文字を使用するエディターから端末にコードを貼り付けることが多いからです。

いいえ、タブの代わりにスペースを使用するように説得することはできません。


zshでは、行の先頭(空白以外の文字の前)でTabキーを押すと、Tabキーがタブを挿入します。そのためにbashをプログラムできるとは思いません(キーをbash関数にバインドできますが、そのbash関数から完了をトリガーすることはできません)。
ジル「SO-悪であるのをやめる」

回答:


16

プット

 set disable-completion on

文字列を入力し~/.inputrcてシェルを再起動します。補完がまったく無効になります。


bashだけでなく
...-yrk

8
それは唯一の代わりに、あなたの中にその行を含むのは、bashに影響を与えるようにするには~/.inputrc:ファイルを、適切なシェル起動ファイルに以下を追加bind 'set disable-completion on'
一時停止追って通知があるまで。

1
デニスが言ったことと、適切なスタートアップファイルは~/.bashrc(ログインシェルを使用しない場合は、に追加source ~/.bashrcします~/.bash_profile)。
ジル「SO-悪であるのをやめる」

6

Bashタブの補完を一時的に無効にするには、次の--noeditingオプションを使用してBashを開始できます。

alias noed='bash --noediting'

6

デニスのソリューション

bind 'set disable-completion on'

Bashでもオンザフライで実行できます。.bashrcに配置する必要はありません。

Mustaのソリューション(bash --noediting)は機能しますが、コマンドライン編集も無効にします。

別の方法は

bind -u complete

( 'complete'に関連付けられたキーバインドの設定解除)

http://www.gnu.org/software/bash/manual/bashref.html、4.2 Bash組み込みコマンド。


「Bashの完了を一時的に無効にするにはどうすればよいですか?」という質問に対する正しい答え これは、81,000以上のファイルがあるディレクトリをナビゲートし、Bashがプロンプトを表示するまで2分間待たなければCtrl + Cでさえできない場合に非常に役立ちます。
-TheDudeAbides
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.