~ / .inputrc 파일이 올바르게 소싱되지 않습니다


14

특정 키 바인딩을 위해 만든 ~ / .inputrc 파일이 있습니다.

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C":forward-word
"\e[1;5D":backward-word
"\e[5C":forward-word
"\e[5D":backward-word
"\e\e[C":forward-word
"\e\e[D":backward-word

실행할 때마다 source ~/.inputrc다음과 같은 오류가 발생합니다.

\ e [1; 5C : 전달 단어 : 명령을 찾을 수 없습니다. \ e [1; 5D : 뒤로 단어 : 명령을 찾을 수 없습니다. \ e [5C : 전달 단어 : 명령을 찾을 수 없습니다. \ e [5D : 뒤로 단어 : 명령을 찾을 수 없습니다. \ e \ e [C : 전달 단어 : 명령을 찾을 수 없습니다. \ e \ e [D : 뒤로 단어 : 명령을 찾을 수 없습니다.

새 터미널을 열 때도 작동하지 않습니다. 오류가 발생하지 않지만 Ctrl 키 조합은 새 터미널에서도 작동하지 않습니다. / etc / inputrc를 변경할 수있는 루트 액세스 권한이 없기 때문에이 파일을 직접 작성했습니다. 아무도 나를 도울 수 있습니까? 감사.

편집 : 콜론 (:) 기호 뒤에 공백이있는 파일을 시도했습니다. 작동하지 않습니다. 또한 실행 파일 (chmod + x ~ / .inputrc)을 만들려고했지만 작동하지 않았습니다.

편집 :이 절차는 'bash'에만 해당되며 'tcsh'를 실행하고 있음을 깨달았습니다. 'csh'의 경우 .bindings파일 대신 .inputrc파일을 사용하고 bindkey구문을 사용하십시오 .

답변:


12

bash의 경우 현재 정의 된 매핑을 다시로드합니다.

bind -f  ~/.inputrc

어디서 bind명령 을받을 수 있습니까 ?
— danijar

bind는 내장 쉘입니다. 어떤 운영 체제를 실행하고 있습니까?
— Paul

zsh와 함께 데비안을 사용하고 있습니다.
— danijar

이것은 RHEL 7의 bash에서 작동하지 않았습니다.이 명령을 실행 한 후에도 .inputrc 바인딩이 여전히 다시로드되지 않습니다.
— user5359531

@ user5359531, 이전 바인딩이 "언로드"되지 않았습니까? (명시 적으로 설정하지 않으면 이전과 동일하게 유지됩니다.) 또는 ~ / .inputrc와 같은 다른 것이 $include /etc/inputrc있습니까?
— mwfearnley

6

.inputrc파일이 공급 될 수있는 파일이 아닙니다. bashreadline 라이브러리를 사용하거나 다른 소프트웨어에 의해 자동으로 고려되어야합니다 . 이것이 작동하지 않으면 콜론 뒤에 공백을 추가하십시오 (예 :

"\e[1;5C": forward-word

(이 구성 파일에는 항상 공간이 있습니다.)


1
+1 "리드 라인 라이브러리를 사용하는 다른 소프트웨어"에 중점을 둡니다. .inputrc쉘 스크립트가 아닙니다. 그것은 A의 readline구성 파일.
— chepner

실제로, 그것은 내가 처음 가지고 있었던 방법이며, 그것을 시험해보기 위해 공간없이 그것을 바꿨습니다. 어느 쪽이든 작동하지 않습니다. 편집에 추가했습니다. 감사.
— rrlamichhane

5

~/.inputrc질문에 게시 된 키 바인딩 및 파일은입니다 bash. 대한 csh(또는 tcsh) 파일을 사용하여 ~/.bindings다음 구문을 사용합니다.

bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word

인터넷 검색 후 이것을 실현했습니다.


어떤 이유로 든 내 tsch는 .bindings 파일을 무시했습니다. source ~/.bindings내 ~/.cshrc파일에 추가하면 이 문제가 해결되었습니다.
— drmuelr 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.