hist_verify
특정 기록 명령을 우회할 수 있습니까 ? 예를 들어 유효성 검사 !$
또는 가 거의 필요하지 !!
않지만 더 복잡한 기록 확장에는 유효성 검사가 유용한 기능이라고 생각합니다. 선택한 기록 연산자를 기록 검증에서 제외할 수 있습니까?
답변1
어쩌면 다음과 같은 것일 수도 있습니다.
accept-line() {
if [[ ${BUFFER//![\$!]} = *!* ]]; then
set -o histverify
else
set +o histverify
fi
zle .$WIDGET
}
zle -N accept-line
~/.zshrc
휴리스틱으로 추가하세요 . 즉, accept-line
위젯을 재정의하여(time 에 호출할 때 Enter) 현재 행 histverify
에 및 뒤에 !
문자가 없는 경우에만 옵션이 설정되도록 합니다 .!
$
echo '!e' !!
이는 or 와 같은 명령줄에서는 어리석은 일 \!!rm
이지만 허용 가능한 한계인 것 같습니다.
개인적으로 나는 set +o banghist
내 항목에 추가 ~/.zshrc
하고 종속성 history-search-backward
(기본값은 모드에서 +에 바인딩 Alt) 또는 (나는 바인딩에 바인딩)을 선호합니다. 이렇게 하면 입력 시간이 절약되고 항상 A 시각적 피드백을 얻을 수 있습니다.pemacs
history-beginning-search-backward
PageUp