Bash의 "set -o vi" 대 readline의 자체 옵션은 무엇입니까?

Bash의 "set -o vi" 대 readline의 자체 옵션은 무엇입니까?

나는 줄을 읽는 것에 대해 알고 있습니다.

set editing-mode vi

위의 옵션을 에 넣을 수 있습니다 ~/.inputrc.editing-modeReadline은 이것을 다음과 같이 기록합니다.

editing-modeemacs(emacs) readline이 또는 와 유사한 키 바인딩 세트로 시작하는지 여부를 제어합니다 vi. 또는 editing-mode으로 설정할 수 있습니다 .emacsvi

Bash의 경우 다음이 있습니다.

set -o vi

~에 따르면배쉬 문서

vivi 스타일 라인 편집 인터페이스를 사용하십시오. 이는 읽기 -e에 사용되는 편집 인터페이스에도 영향을 미칩니다.

배쉬 -o vi가 할 수 있나요?아무것적절한 Readline 모드를 설정하는 것 외에도? 그리고 editing-mode준비가 되어 있으면 ~/.inputrc달라지나요 ?

답변1

둘 다 동일합니다.

set -o vi대화형 셸에서 작업을 수행하면 내장 함수가 bash호출됩니다 .setset내장 호출을 위한 C 코드rl_variable_bind("editing-mode", option_name)(여기서 option_name) vi이것은 명령줄 편집 모드를 설정하는 Readline 라이브러리 함수입니다.

set -o셸의 명령줄에서 명령줄 편집 모드를 설정하면 bash에서 구성된 해당 설정이 재정의됩니다 ~/.inputrc.

편집 모드를 설정하면 ~/.inputrcReadline 라이브러리를 사용하는 모든 응용 프로그램의 기본 명령줄 편집 모드로 설정됩니다.

관련 정보