Control+를 눌러 "ls"를 쓰고 싶지만 실행되지 않습니다 r. 다음 코드를 사용하고 있지만 실행에 사용될 버퍼에 명령을 씁니다.뒤쪽에이기다 Enter. 어떻게든 직접 작성하고 싶지만 어떻게 해야 할지 모르겠습니다.
_prefill() {
print -z "ls"
}
zle -N _prefill
bindkey '^r' _prefill
답변1
$BUFFER
위젯 기능에서 편집 버퍼는 (전체 버퍼) 및 $LBUFFER
( $RBUFFER
각각 커서의 왼쪽과 오른쪽에 있는 버퍼 부분)에 노출됩니다. info zsh BUFFER
자세한 내용은 1을 참조하세요. 여기서는 다음과 같이 합니다.
_prefill() LBUFFER+=ls
print -z
다음 명령을 위해 버퍼를 미리 채우는 것이므로 일반적으로외부zle 위젯.
1 모든 시스템에 기본적으로 zsh 문서가 설치되어 있는 것은 아니므로 패키지 또는 이에 상응하는 패키지를 설치해야 할 수도 있습니다 zsh-doc
(이 크기의 매뉴얼을 수용할 만큼 크지 않은 매뉴얼 페이지 제외). 이 문서의 최신 버전은 온라인으로도 제공됩니다. 이것은해당 BUFFER
색인 항목 에 대한 링크.