Bash 탭 완성 비활성화

Bash 탭 완성 비활성화

Tab 키를 누를 때 bash의 자동 완성 기능을 비활성화할 수 있습니까?

내가 이렇게 하고 싶은 이유는 들여쓰기를 위해 여러 공백 대신 탭을 사용하는 편집기에서 터미널에 코드를 붙여넣는 경우가 많기 때문입니다.

아니요, 탭 대신 공백을 사용하도록 설득할 수는 없습니다.

답변1

놓다

 set disable-completion on

문자열을 입력 ~/.inputrc하고 쉘을 다시 시작하십시오. 완료가 완전히 비활성화됩니다.

답변2

데니스의 솔루션

bind 'set disable-completion on'

Bash에서 즉시 수행할 수도 있습니다. .bashrc에 넣을 필요는 없습니다.

Musta의 솔루션(bash --noediting)은 작동하지만 명령줄 편집도 비활성화합니다.

또 다른 방법은

bind -u complete

("full"과 관련된 키 바인딩을 설정 해제합니다)

http://www.gnu.org/software/bash/manual/bashref.html, 4.2 Bash 내장 명령.

답변3

Bash 탭 완성을 일시적으로 비활성화하려면 다음 옵션을 사용하여 Bash를 시작할 수 있습니다 --noediting.

alias noed='bash --noediting'

답변4

터미널 매칭 있음괄호 안에 붙여넣기(즉, 대부분의 최신 터미널) 다음을 bind 'set enable-bracketed-paste on'실행하여 붙여넣은 코드의 읽기 라인 처리를 건너뛸 수 있습니다.

user@host:~$ bind 'set enable-bracketed-paste off'
user@host:~$ STR="Foo
> 
Display all 2376 possibilities? (y or n)^C
user@host:~$ bind 'set enable-bracketed-paste on' 
user@host:~$ STR="Foo
        Bar"

관련 정보