다음과 같은 명령문에 대해 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-ambiguous
Tab 키를 두 번이 아닌 한 번 눌러 모든 완성 항목을 표시합니다. 또한 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