탭 키가 활성화 된 상태에서 여러 줄로 구조화 된 명령 작성


10

여러 줄로 구조적 명령을 작성하고 싶습니다.

$ for i in *;
 do
    file $i;
 done
bmdt.md: ASCII text
breakfast.md: ASCII text
brmdh.md: ASCII text
test.sh: Bourne-Again shell script text executable, ASCII text

탭이 작동하지 않는 것을 찾으십시오.

bash 콘솔에서 탭 키를 어떻게 활성화 할 수 있습니까?


4
대신 Control-V Tab을 누르십시오. 탭은 기본적으로 파일 / 명령 완료에 바인딩됩니다.
mosvy

답변:


10

Enter불완전한 명령을 입력 한 후 를 누르면 bash쉘에 연속 프롬프트 (2 차 프롬프트 $PS2)가 표시되고 입력 한 명령을 완료 할 수 있습니다. 이 시점에서 쉘의 명령 행 편집 기능은 원래 프롬프트 (1 차 프롬프트 $PS1) 와 동일하므로 Tab키가 평소처럼 명령 및 파일 이름 완성을 수행합니다.

탭 문자를 삽입하려면을 사용 Ctrl+V Tab하거나 들여 쓰기에 공백을 사용하십시오. 접두사가 앞에 있으면 탭 문자 (또는 다른 리터럴 문자)를 항상 삽입 할 수 있습니다 Ctrl+V.


또는 Emacs 명령 행 편집 모드 (에서 기본값이라고 생각하는 경우 bash)를 사용 Ctrl+X Ctrl+E하여 명령을 입력 할 편집기를 불러옵니다. 사용 된 편집기는 EDITOR쉘 / 환경 변수에 의해 지정 emacs되거나이 변수가 설정되어 있지 않은 편집기 입니다.

Vi 명령 행 편집 모드에서을 눌러 Escape v동일한 작업을 수행하십시오.

편집기를 저장하고 종료 한 후 명령이 실행됩니다.


vi 명령 줄이 무엇인지 물어볼 수 있습니까? Vim은 명령을 직접 입력하고 실행하지 않고 미리 열어서 편집하고 편집해야하는 편집기라는 것을 알고 있습니다.
Calculus

1
@avirate Vim은 원래 Vi 편집기의 변형입니다. "Vi 명령 행 편집 모드"는 사용 가능한 모드 set -o vi로, 명령 줄에서 Vi / Vim 편집 명령을 사용하여 ( Esc) 와 같이 dw현재 단어의 끝까지 삭제하는 등의 기능 set -o emacs을 제공합니다. Emacs 명령 행 편집 모드로
Kusalananda

놀랍습니다. 즉시 검색하고 탐색합니다.
Calculus

1
@avirate 편집기를 미리 열 필요는 없습니다. 를 누르면 Ctrl+X Ctrl+E셸에서 자동으로 열립니다.
Kusalananda
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.