여러 포럼에서 set -o vi
내 .bashrc
파일 에 이런 일이 발생했습니다. 오늘 나는 set editing-mode vi
에 추가하는 옵션을 보았습니다 .inputrc
.
구글링해보니 둘 다 똑같은 것 같은데, 둘 사이에 중요한 차이점이 있나요?
답변1
.inputrc
(및 /etc/inputrc
)은 GNU 라이브러리의 구성 파일입니다 readline
. bash와 함께 개발된 두 가지 모두 현재 Chet Ramey에서 관리하고 있지만 tcsh, ksh93, zsh 또는 yash와 같은 기타 응용 프로그램에는 자체 라인 편집기가 있는 경우가 많으며 readline
GNU 응용 프로그램비gdb
이를 포함하여python3
bc
rc
bash
또한 명령을 통해 자체 줄 편집기의 readline 설정 변경을 지원합니다 bind
. 따라서 다음과 같이 할 수도 있습니다.
bind 'set editing-mode vi'
set -o vi
-style 키 바인딩을 사용하도록 행 편집기를 구성하는 Korn 쉘의 방법입니다 vi
. POSIX 사양은 sh
Korn 셸을 기반으로 하기 때문에 sh
Korn 셸에서 키 바인딩을 구성하는 POSIX 방식이기도 합니다.
그리고 bash
POSIX 호환 셸을 의도했기 때문에 라인 편집기 모드를 스타일(또는 시작으로 시작 ) 로 변경하는 vi
옵션 세트 set -o
( 와는 반대로 )도 있는데 , 이는 궁극적으로 동일한 작업을 수행합니다.shopt
vi
bash
bash -o vi
또한 bash
csh 및 tcsh에서 많은 기능을 파생합니다. 에서는 tcsh
및 를 사용하여 키 바인딩의 및 스타일을 전환할 수 있습니다 vi
. 이것도 지원되지만 지원되지는 않습니다.emacs
bindkey -v
bindkey -e
zsh
bash
답변2
이러한 설정은 를 포함하되 이에 국한되지 않고 .inputrc
사용되는 모든 응용 프로그램에 적용됩니다 .libreadline
bash
set -o vi
에만 .bashrc
영향을 미칩니다 bash
.