Readline은 또한 홈 디렉토리에서 .inputrc 구성 파일을 편집하여 사용자 정의 키 바인딩을 매핑할 수 있는 기능을 제공합니다.
다음은 정의할 수 있는 두 가지 유형의 사용자 지정 키 바인딩입니다.
- 매크로
- 기능
매크로
실행될 때 커서의 현재 위치에서 문자열을 채우는 키 바인딩을 정의할 수 있습니다. 이렇게 하려면 .inputrc 구성 파일에 다음 형식의 줄을 추가합니다(또는 아직 존재하지 않는 경우 파일 생성):
<key combination>: "<string of characters>"
예를 들어, "~/debug_output.txt" 파일로 출력을 반복적으로 리디렉션하고 있다고 가정해 보겠습니다. 다음 줄을 추가하여 .inputrc에 매크로를 정의할 수 있습니다.
Control-g: " > ~/debug_output.txt"
이제 Control-g 키 조합을 입력할 때마다 리디렉션 문이 커서 뒤에 추가되어 다른 명령 끝에 쉽게 추가할 수 있습니다.
매크로를 생성할 때 다음 사항에 유의하십시오.
<센터> 센터>- 키 조합을 영어로 설명할 수 있습니다(자세한 내용은 bash 매뉴얼 페이지를 참조하십시오. "Readline Key Bindings" 섹션 검색)
- 매크로가 삽입할 문자 시퀀스는 큰따옴표(“)로 묶어야 합니다.
- Control-g의 선택은 임의적이었습니다. 더 의미 있는 조합을 선택할 수 있습니다.
- 기본 키 바인딩을 재정의할 수 있습니다(자신의 키 바인딩을 정의할 때 이 점을 염두에 두십시오)
- 키 바인딩을 적용하려면 새 셸 인스턴스를 시작해야 합니다(셸 시작 시 .inputrc 구성 파일을 읽음)
기능
실행될 때 함수를 호출하는 키 바인딩을 만들 수도 있습니다. Readline은 선택할 수 있는 많은 미리 정의된 함수를 제공합니다. 키 조합을 미리 정의된 기능에 매핑하려면:
<key combination>: <function-name>
사용 가능한 사전 정의된 기능 목록은 GNU Readline 매뉴얼을 참조하십시오.
사용자 정의 함수를 정의하는 것도 가능하지만 이를 위해서는 C로 작성해야 하며 이 튜토리얼의 범위를 벗어납니다. 나중에 별도의 자습서로 다룰 수 있습니다.
유용한 사전 정의 기능 중 하나는 메뉴 완성입니다. 대체 자동 완성 동작을 제공합니다.
자동 완성의 기본 동작(TAB 키에 매핑됨)은 다음 중 하나입니다.
- 하나의 일치 항목이 있는 경우 부분 명령/디렉토리/파일 이름 채우기
- 1개 이상 존재할 때 가능한 일치 목록 표시
menu-complete는 대신 가능한 일치 목록을 순환하여 함수가 호출될 때마다 다음 가능한 일치를 채웁니다. 이 동작은 특히 긴 파일 이름을 자동 완성할 때 유용할 수 있습니다. 이 동작을 사용하도록 TAB 키를 다시 매핑하려면 .inputrc 파일에 다음 줄을 추가하세요.
TAB: menu-complete
이 새 키 바인딩은 현재 셸에서 적용되지 않습니다. .inputrc 구성 파일을 다시 로드하려면 새 인스턴스를 시작해야 합니다.
이 튜토리얼에서 우리는 Linux 명령줄 키 바인딩이 Readline이라는 도구에 의해 구동된다는 것을 배웠습니다. 키 바인딩은 다음 두 가지 유형 중 하나일 수 있습니다.
- 매크로:일련의 문자 확장
- 기능:작업 수행
Readline은 기본 키 바인딩 세트를 제공하지만 .inputrc 구성 파일에서 고유한 키 바인딩을 만들 수 있는 유연성도 제공합니다. 마지막으로 현재 키 바인딩을 모두 보려면 '바인드' 명령을 사용할 수 있습니다.
bind -p