Bash에서 와일드카드에 대한 탭 완성을 활성화하는 방법은 무엇입니까?

Bash에서 와일드카드에 대한 탭 완성을 활성화하는 방법은 무엇입니까?

다음과 같은 명령문에 대해 bash에서 탭 완성을 활성화하는 방법은 무엇입니까 vim db/migrate/*crea? 기본적으로 정규식 및 표시 옵션과 일치하는 탭 완성을 찾고 있습니다.

이 일을 어떻게 하시겠습니까?

이 질문은 제가 질문한 것과 관련이 있습니다여기

답변1

어떤 버전의 bash를 사용하고 있습니까? 4.1.2를 사용하면 CentOS 6.2에서 바로 작동하는 것 같습니다.

[user@host foo]$ cd /tmp/foo
[user@host foo]$ mkdir bar
[user@host foo]$ touch bar/foo{1,2,3}
[user@host foo]$ vim bar/*1
*TAB*
[user@host foo]$ vim bar/foo1 
[user@host foo]$ touch bar/bar1
[user@host foo]$ vim bar/*1
*TAB* *TAB*
[user@host foo]$ vim bar/*1
bar1/ foo1  

자동 완성 목록을 보려면 Tab 키를 두 번 누르셨나요?

답변2

show-all-if-ambiguousTab 키를 두 번이 아닌 한 번 눌러 모든 완성 항목을 표시합니다. 또한 glob 수행 방법도 변경됩니다.

$ touch 1.0.{1,2}
$ bind 'set show-all-if-ambiguous off'
$ open *0* # I pressed tab twice here, and *0* was kept as *0*
1.0.1  1.0.2
$ open *0*^C
$ bind 'set show-all-if-ambiguous on'
$ open *0* # I pressed tab once here, and *0* was replaced with 1.0.
1.0.1  1.0.2
$ open 1.0.

glob-complete-word(\eg)도 완료됩니다 *0(끝에 와일드카드 없음) . 및 etc 패턴 1.0.에서도 작동합니다 .*/file***/file

관련 정보