"set edit-mode vi"와 "set -o vi"의 차이점은 무엇입니까?

"set edit-mode vi"와 "set -o vi"의 차이점은 무엇입니까?

여러 포럼에서 set -o vi.bashrc파일 에 이런 일이 발생했습니다. 오늘 나는 set editing-mode vi에 추가하는 옵션을 보았습니다 .inputrc.

구글링해보니 둘 다 똑같은 것 같은데, 둘 사이에 중요한 차이점이 있나요?

답변1

.inputrc(및 /etc/inputrc)은 GNU 라이브러리의 구성 파일입니다 readline. bash와 함께 개발된 두 가지 모두 현재 Chet Ramey에서 관리하고 있지만 tcsh, ksh93, zsh 또는 yash와 같은 기타 응용 프로그램에는 자체 라인 편집기가 있는 경우가 많으며 readlineGNU 응용 프로그램비gdb이를 포함하여python3bcrc

bash또한 명령을 통해 자체 줄 편집기의 readline 설정 변경을 지원합니다 bind. 따라서 다음과 같이 할 수도 있습니다.

bind 'set editing-mode vi'

set -o vi-style 키 바인딩을 사용하도록 행 편집기를 구성하는 Korn 쉘의 방법입니다 vi. POSIX 사양은 shKorn 셸을 기반으로 하기 때문에 shKorn 셸에서 키 바인딩을 구성하는 POSIX 방식이기도 합니다.

그리고 bashPOSIX 호환 셸을 의도했기 때문에 라인 편집기 모드를 스타일(또는 시작으로 시작 ) 로 변경하는 vi옵션 세트 set -o( 와는 반대로 )도 있는데 , 이는 궁극적으로 동일한 작업을 수행합니다.shoptvibashbash -o vi

또한 bashcsh 및 tcsh에서 많은 기능을 파생합니다. 에서는 tcsh및 를 사용하여 키 바인딩의 및 스타일을 전환할 수 있습니다 vi. 이것도 지원되지만 지원되지는 않습니다.emacsbindkey -vbindkey -ezshbash

답변2

이러한 설정은 를 포함하되 이에 국한되지 않고 .inputrc사용되는 모든 응용 프로그램에 적용됩니다 .libreadlinebash

set -o vi에만 .bashrc영향을 미칩니다 bash.

관련 정보