self-insert
zsh의 용도는 무엇입니까 ? 나는 prezto 구성의 모든 곳에서 그것을 볼 수 있지만 그것이 무엇을 해야 하는지 이해할 수 없습니다. ZLE 문서도 그것이 무엇인지 지정하지 않지만 일부 다른 맥락에서 언급합니다.
답변1
키에 바인딩되면 이 함수는 키 자체를 입력 문자로 삽입합니다. 예를 들어 키가 a
에 바인딩되어 있으므로 self-insert
키를 누르면 "a"가 입력됩니다.
로부터zshzle(1)매뉴얼 페이지(zsh 버전 5.5.1):
self-insert (printable characters) (unbound) (printable characters and some con‐ trol characters) Insert a character into the buffer at the cursor position.
비교를 위해,읽어보기(3)매뉴얼 페이지(bash 버전 4.4.023):
self-insert (a, b, A, 1, !, ...) Insert the character typed.
답변2
문서에서,
self-insert 또는 self-insert-unmeta에 바인딩되지 않은 다른 문자는 경고음을 울리고 무시됩니다.
나는 내 껍질을 엉망으로 만들고 '.'을 묶었습니다. 함수에 연결한 다음 바인딩을 해제합니다. 갑자기 어디서든 점을 입력할 수 없게 되었습니다. 로 bindkeys
표시되었지만 "/"-"~" self-insert
또 다른 깨끗한 쉘에서는 이었습니다 "/"-"-" self-insert
. 잘라서 붙여넣는 경우에도 문자가 완전히 무시되었습니다.
점을 다시 가져오려면 점을 자체 삽입에 바인딩해야 했습니다.
bindkey '.' self-insert