zshからのhist_verifyの制限

zshからのhist_verifyの制限

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ビジュアルフィードバックを得ることができます。pemacshistory-beginning-search-backwardPageUp

おすすめ記事